04MySql表的操纵

Posted tumbler-zeng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了04MySql表的操纵相关的知识,希望对你有一定的参考价值。

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

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

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;

 

以上是关于04MySql表的操纵的主要内容,如果未能解决你的问题,请参考以下文章

创建和操纵表

创建和操纵表

创建和操纵表

MySQL 必知必会 创建和操纵表

谷歌地图片段内的片段可以操纵我的地图

MySQL必知必会读书笔记-8(表的操纵,视图,存储过程,游标,触发器)