class05_操纵表

操纵表

【注意】:不同数据库,操纵表的语法差别较大,本节课讲解内容,仅针对MySQL数据库

表的关键信息

剖析一张表包含的关键信息

必须要有的信息:

  1. 表名
  2. 字段名
  3. 字段类型

更新表定义

介绍如何更新表名、字段名、字段数据类型等

更新表名:使用关键字:RENAME TABLE。

      RENAME TABLE 旧表名 TO 新表名;

例如,生产环境投产前备份teacher表,使用如下语句:

      RENAME TABLE teacher TO teacher_bak;

 

 

更新字段名:使用关键字:ALTER TABLE。 必须包含字段类型!

      ALTER TABLE 表名 CHANGE 旧字段名 新字段名 字段类型;

后面三个参数必须都在,不然会报错

比如,修改teacher_name的字段名为teacher_nm,使用如下语句:

       ALTER TABLE teacher CHANGE teacher_name teacher_nm VARCHAR(100);

【注意】:修改字段名时,可同时修改字段类型。

              也可以只修改字段类型,字段名不变

 

更新字段类型:使用关键字ALTER TABLE:【与上面的区别,这种方法只更新字段类型,保留原有字段名】必须包含字段类型!

      ALTER TABLE 表名 MODIFY 字段名 新字段类型;

比如,修改teacher_name的类型为VARCHAR(100),如下:

      ALTER TABLE teacher MODIFY teacher_name VARCHAR(200) ;

      ALTER TABLE teacher MODIFY teacher_name VARCHAR(200)  NOT NULL ;

ALTER TABLE teacher MODIFY teacher_name VARCHAR(200)  NOT NULL DEFAULT ‘’;

 

 

删除字段默认值:使用关键字:ALTER TABLE

      ALTER TABLE 表名 ALTER COLUMN 字段名 DROP DEFAULT;

比如,删除teacher_name的默认值,使用如下语句:

ALTER TABLE teacher ALTER COLUMN teacher_name drop default;

【注意】:也可以用MODIFY方法 最后不加default消除默认。

 

更新主键字段:

[注意]:更新为主键的字段,自动设置NOT NULL

设置主键:如果表已经存在,但没有定义主键字段,可使用关键字:ALTER TABLE,设置主键。

ALTER TABLE 表名 ADD PRIMARY KEY(主键字段列表);

比如,将teacher表的teacher_name和gender两个字段设置为主键,使用如下语句:

ALTER TABLE teacher ADD PRIMARY KEY(teacher_name,gender)

删除主键字段:如果表中已经定义主键字段,可使用关键字:ALTER TABLE,删除现有主键

ALTER TABLE 表名 DROP PRIMARY KEY;

比如,将teacher表的主键删除,使用如下语句:

ALTER TABLE teacher DROP PRIMARY KEY;

新增字段:使用关键字:ALTER TABLE:

ALTER TABLE 表名 ADD COLUMN新字段名 字段类型(这两个必须有) 其他属性;

比如,在teacher表中新增年龄字段age,使用如下语句:

ALTER TABLE teacher ADD COLUMN age int not null default 0;

删除字段:使用关键字:ALTER TABLE:

ALTER TABLE 表名 DROP COLUMN 字段名;

比如,在teacher表中删除年龄字段age,使用如下语句:

ALTER TABLE teacher DROP COLUMN age;

删除表:删除一张已经创建好的表,使用关键字:DROP TABLE:

DROP TABLE 表名;

比如,删除teacher表,使用如下语句:

DROP TABLE teacher;

汇总

总结一下本节课中使用到的关键字及语法结构

【注意】关于操纵表的语法,具体以实际数据库语法为准。

【建议】操纵表是一个很复杂的事情,所以最好在定义时就做好充分的考虑并为以后扩展留下空间。

posted @ 2020-04-21 12:29  云川望雨  阅读(134)  评论(0编辑  收藏  举报