MySQL ALTER命令知识点汇总
什么是ALTER命令
ALTER命令是MySQL用来修改已有的表结构的命令。使用ALTER命令可以修改表名,增加、删除列,修改列的数据类型或属性,以及修改表级约束等。
常见的ALTER命令语法
修改表名
ALTER TABLE table_name RENAME TO new_table_name;
添加新列
ALTER TABLE table_name ADD COLUMN column_name column_definition [FIRST | AFTER column_name];
其中,column_definition表示新列的数据类型和约束,FIRST表示新列要添加到第一列,AFTER column_name表示新列要添加到指定列的后面。
删除列
ALTER TABLE table_name DROP COLUMN column_name;
修改列
ALTER TABLE table_name MODIFY COLUMN column_name column_definition;
或
ALTER TABLE table_name CHANGE COLUMN old_name new_name column_definition;
其中,column_definition表示新的数据类型和约束,CHANGE COLUMN语句可以同时修改列名和属性。
添加主键
ALTER TABLE table_name ADD PRIMARY KEY (column_name);
删除主键
ALTER TABLE table_name DROP PRIMARY KEY;
添加外键
ALTER TABLE child_table ADD FOREIGN KEY (column_name) REFERENCES parent_table (parent_column_name);
删除外键
ALTER TABLE child_table DROP FOREIGN KEY foreign_key_name;
修改列的默认值
ALTER TABLE table_name ALTER COLUMN column_name SET DEFAULT default_value;
修改列的约束
ALTER TABLE table_name ALTER COLUMN column_name constraint_definition;
示例说明
示例一
在students表中添加一个新的成绩列:
ALTER TABLE students ADD COLUMN score INT DEFAULT 0 AFTER age;
这条语句会在students表中添加一个名为score的整数列,并将它添加到age列后面,初始值为0。
示例二
修改students表中的成绩列名为score_new,并将其数据类型改为DOUBLE型:
ALTER TABLE students CHANGE COLUMN score score_new DOUBLE;
或
ALTER TABLE students MODIFY COLUMN score_new DOUBLE;
这两条语句都能实现目标,第一条语句使用了CHANGE COLUMN语句来修改列名和类型,第二条语句使用了MODIFY COLUMN语句来修改类型。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:MySQL ALTER命令知识点汇总 - Python技术站