約束和修改數據表
一、約束
約束可保證數據的完整性與一致性
約束分為表級約束與列級約束
約束類型包括 NOT NULL | PRIMARY KEY | UNIQUE KEY | DEFAULT | FOREIGN KEY
FOREIGN KEY 可保持數據一致性,完整性,并實現一對一或一對多關系。
外間約束的要求
Paste_Image.png
外鍵約束的參照操作
Paste_Image.png
表級約束,列級約束
二、修改數據表
增加單列
ALTER TABLE tb_name ADD col_name data_type [FIRST|AFTER col_name];
增加多列
ALTER TABLE tb_name ADD (col_name data_type ,...);
刪除單列
ALTER TABLE tb_name DROP col_name;
刪除多列
ALTER TABLE tb_name DROP col_name,DROP ....;
復合增減列
ALTER TABLE tb_name ADD col_name data_type [FIRST|AFTER col_name],DROP col_name;
ALTER TABLE tb_name ADD (col_name data_type ,...),DROP col_name,DROP ...;
添加主鍵約束
ALTER TABLE tb_name ADD [CONSTRAINT [symbol]] PRIMARY KEY(index_col_name);
添加唯一約束
ALTER TABLE tb_name ADD [CONSTRAINT [symbol]] UNIQUE [INDEX|KEY](index_col_name,...);
添加外鍵約束
ALTER TABLE tb_name ADD [CONSTRAINT [symbol]] FOREIGN KEY(index_col_name,...) REFERENCES db_name(col_name);
添加或刪除默認約束
ALTER TABLE tb_name ALTER col_name {SET DEFAULT literal | DROP DEFAULT};
刪除主鍵約束
ALTER TABLE tb_name DROP PRIMARY KEY;
刪除唯一約束 先通過 SHOW INDEXES FROM db_name ;來查找索引名
ALTER TABLE tb_name DROP {INDEX|KEY} index_name ;
刪除外鍵約束 先通過 SHOW CREATE TABLE tb_name;來查約束名。
ALTER TABLE tb_name DROP FOREIGN KEY fk_symbol;
修改列定義 這里不僅可以修改列位置,也可以修改列數據類型
ALTER TABLE tb_name MODIFY col_name colimn_definition [FIRST|AFTER col_name];
修改列名稱
ALTER TABLE tb_name CHANGE old_col_name new_col_name col_definition [FIRST|AFTER col_name];
修改數據表名
ALTER TABLE tb_name RENAME [TO|AS] new_tb_name
RENAME TABLE tb_name TO new_tb_name[,tb_name2 TO new_tb_name2]
本節知識點
Paste_Image.png