zoukankan      html  css  js  c++  java
  • 04、MySql表的操纵(上)

    是数据库存储数据的基本单位,由若干个字段组成,主要用来存储数据记录。

    对表的操纵有创建表、查看表、修改表、删除表、向表中插入数据、修改表中的数据

    1、创建表

      CREATE TABLE table_name (column_name column_type 约束条件)[存储引擎 字符集];
      或者:
    CREATE TABLE IF NOT EXISTS table_name (column_name column_type[宽度]约束条件)[存储引擎 字符集]; 
      注意:宽度和条件可选。

      约束条件: 
      • 如果你不想字段为 NULL 可以设置字段的属性为 NOT NULL, 在操作数据库时如果输入该字段的数据为NULL ,就会报错。
      • AUTO_INCREMENT定义列为自增的属性,一般用于主键,数值会自动加1。
      • PRIMARY KEY关键字用于定义列为主键。 您可以使用多列来定义主键,列间以逗号分隔。
      • ENGINE 设置存储引擎,CHARSET 设置编码。

    2、查看表

      show tables;       --查看当前数据库中的所有表

      desc table_name;    --查看表的结构

      show create table haha;         --查看表详细结构语句

      show table status like 'haha' G    --列比较多,想看的清楚一点,可以以G结尾

    、修改表名

    1、修改表名  

        rename table table_name to new_name;

        alter table table_name rename new_name;

      2、修改字段的数据类型

        alter table t1 modify gender char(11);     --只能改属性不能改名字
        alter table t1 change gender age int(12);  --既可以改名也可改属性(把gender改为age)

      3、修改字段gender顺序
        alter table t1 change gender gender int(12) first;         --把gender方在第一列
        alter table t1 change gender gender int(12) after id;      --把gender方在id后面

    4、添加新字段

      alter table t1 add  age  int(10);

      alter table t1 add  (chinese int(10),english int(10));

    5、删除字段

      alter table table_name drop 字段名;   --删除列

    6、插入数据

    insert into t1(id,name,math,china) values(1,"wing",80,90);  
    insert into t1(id,name,math,china) values(2,"king",70,100),(3,"tom",50,70); 
    insert into t1 set id=6,math=65; 
    insert into t1 values(4,"xiaosan",50,100);                                              
    insert into t1(id,math) values(5,70);

     

    7、更新表中数据

      update table_name set name="MySql" where id=5; --把表中id=5的记录名字改为MySql

      delete from table_name where id=5; --删除id=5 的一条记录

      delete from table_name;  --删除表中所有数据

    8、复制表1、复制表结构及数据到新表

    1、CREATE TABLE 新表 SELECT * FROM 旧表
    这种方法会将oldtable中所有的内容都拷贝过来,当然我们可以用delete from newtable来删除。
    不过这种方法的一个最不好的地方就是新表中没有了旧表的primary key、Extra(auto_increment)等属性。需要自己添加,而且容易搞错。

    2、只复制表结构到新表
    CREATE TABLE 新表 SELECT * FROM 旧表
    或CREATE TABLE 新表  LIKE 旧表

    3、复制旧表的数据到新表(假设两个表结构一样)
    INSERT INTO 新表 SELECT * FROM 旧表

    4、复制旧表的数据到新表(假设两个表结构不一样)
    INSERT INTO 新表(字段1,字段2,.......) SELECT 字段1,字段2,...... FROM 旧表

    5、show create table 旧表;
    这样会将旧表的创建命令列出。我们只需要将该命令拷贝出来,更改table的名字,就可以建立一个完全一样的表

    9、删除表

      drop table table_name;

     

  • 相关阅读:
    理解svm必看
    SVM中核函数种类与选择(转)
    常用数据的标准化方法 (转)
    matlab归一化&标准化 (转)
    as3+XML读取文件夹图片并显示易错的地方(转自新浪微博)
    As 对象局部坐标转全局坐标
    JS 与 AS3 的通信
    AS3的反射
    LocalConnection实现swf与swf之间通信
    正则表达式元字符速查表
  • 原文地址:https://www.cnblogs.com/Tumbler-zeng/p/12515183.html
Copyright © 2011-2022 走看看