MySQL之数据表的修改

数据表的修改无非就是对已经存在的表进行列的增加/删除、约束的增加/删除、修改列定义及数据表更名

 

1、列的添加

A。添加单列

MySQL之数据表的修改

原数据表结构

MySQL之数据表的修改

添加列后数据表结构

MySQL之数据表的修改

MySQL之数据表的修改

MySQL之数据表的修改

B。同时添加多列

MySQL之数据表的修改

添加多列不能指定列的位置关系,只能在原有列的最后方。

 

2、列的删除

MySQL之数据表的修改

删除一列:

MySQL之数据表的修改

同时删除多列:

MySQL之数据表的修改

 

3、同时增加删除列

MySQL之数据表的修改

MySQL之数据表的修改

 

4、约束的添加删除

A。添加删除主键约束

MySQL之数据表的修改

示例:

创建一张表

MySQL之数据表的修改

添加新字段并设置为主键

MySQL之数据表的修改

验证:

MySQL之数据表的修改

 

删除主键约束

MySQL之数据表的修改

 

B。添加删除唯一约束

MySQL之数据表的修改

示例:

MySQL之数据表的修改

验证:

MySQL之数据表的修改

 

删除唯一约束:

MySQL之数据表的修改

MySQL之数据表的修改

MySQL之数据表的修改

C。添加外键约束

MySQL之数据表的修改

示例:

MySQL之数据表的修改

 

删除外键约束

MySQL之数据表的修改

fk_symbol是外键约束的名称,可以通过“SHOW CREATE TABLE 表名”来查看

MySQL之数据表的修改

删除

MySQL之数据表的修改

 

D。删除添加默认约束

MySQL之数据表的修改

示例:

添加默认约束

MySQL之数据表的修改

 

删除默认约束

MySQL之数据表的修改

 

5、修改列定义

MySQL之数据表的修改

 A。修改列的位置

MySQL之数据表的修改

B。修改字段类型

MySQL之数据表的修改

数据类型由大改小可能会造成数据丢失

 

C。修改列名称

MySQL之数据表的修改

CHANGE不仅可以修改列定义(A和B) ,还可以修改列名称,功能要大于MODIFY .

MySQL之数据表的修改

 

D.修改数据表的名字

MySQL之数据表的修改

MySQL之数据表的修改

MySQL之数据表的修改

不要随意更改数据表的名字和数据列的名字,若创建过索引,视图,或使用过存储过程,表被引用,则可能造成索引、视图、存储过程无法正常使用。