7.修改数据表

针对字段操作:添加/删除字段,修改列定义,列名

针对约束操作:添加/删除

针对数据表操作:数据表更名(rename)

1 添加单列

ALTER TABLE tbl_name ADD [COLUMN] col_name column_definition [ FIRST|AFTER col_name ]


默认向后追加,afer
first

2 添加多列

ALTER TABLE tbl_name ADD [COLUMN] (col_name column_definition,...)

PS:添加单列可以指定位置关系 ,添加多列不可以指定位置关系

3 删除列

ALTER TABLE tbl_name DROP [COLUMN] col_name

ALTER TABLE tbl_name DROP [COLUMN] col_name,DROP col_name,ADD col_name col_definition(可以同时操作,用逗号隔开操作)

4 添加主键约束

ALTER TABLE tbl_name ADD [ CONSTRAINT [symbol] ] PRIMARY KEY [index_type] (index_col_name,...)

eg: ALTER TABLE user2 ADD CONSTRAINT PK_user2_id PRIMARY KEY (id);


5 添加唯一约束(可以多个)

ALTER TABLE tbl_name ADD [CONSTRAINT[symbol]] UNIQUE [INDEX|KEY] [index_name] [index_type] (index_col_name,...)

6 添加外键约束

ALTER TABLE tbl_name ADD [CONSTRAINT [symbol]] FOREIGN KEY [index_name] (index_col_name,...) reference_definition

eg: ALTER TABLE user2 ADD FOREIGN KEY (pid) REFERENCES provinces (id);

7 添加/删除默认约束

ALTER TABLE tbl_name ALTER [COLUMN] col_name {SET DEFAULLT literal | DROP DEFAULT}

添加
删除

8 删除主键约束

(因为主键只有一个所以不需要指定名称)

ALTER TABLE tbl_name DROP PRIMARY KEY 

9 删除唯一约束

ALTER TBALE tbl_name DROP {INDEX|KEY} index_name;

在删除唯一约束的时候,首先要查看约束的名字即key_name

show indexes from user2\G(以网格形式呈现\G),这里key_name 为username,


查看约束
删除一个,只有一个约束了

10 删除外键约束

ALTER TABLE tbl_name DROP FOREIGN KEY fk_symbol

首先要查看外键约束的名称,这个名称是系统给的

show create table user2

系统赋予外键约束名称“user2_ibfk_1”

ALTER TABLE user2 DROP FOREIGN KEY user2_ibfk_1;

11 修改数据表

1)修改列定义

ALTER TABLE tbl_name MODIFY [COLUMN] col_name column_definition [FIRST|AFTER col_name]

PS : 大数据修改为小数据时,会造成数据丢失。

2)修改列名称

ALTER TABLE tbl_name CHANGE [COLUMN] old_col_name new_col_name column_definition [FIRST | AFTER col_name]

3)修改数据表名

方法1 ALTER TABLE tbl_name RENAME [TO|AS] new_tbl_name

方法2 RENAME TABLE tbl_name TO new_tbl_name [,tbl_name2 TO new_tbl_name2]...

PS:尽量不要随意更改列名,数据表名

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容