修改表结构
可以使用ALTER TABLE
语句来修改表结构,比如可以添加列、删除列、修改列定义等。
-- 添加列
ALTER TABLE table_name ADD column_name datatype;
-- 删除列
ALTER TABLE table_name DROP COLUMN column_name;
-- 修改列定义
ALTER TABLE table_name ALTER COLUMN column_name datatype;
以上是标准SQL的语法,在不同的数据库实现可能中可能会有不同的命令。以下给出MySQL和SQL Server的比较:
操作 | MySQL | SQL Server |
---|---|---|
增加字段 | ALTER TABLE teacherInfo ADD ColName DataType; |
ALTER TABLE teacherInfo ADD ColName DataType; |
修改字段 | ALTER TABLE teacherInfo MODIFY name VARCHAR(30) NOT NULL; |
ALTER TABLE teacherInfo ALTER COLUMN name VARCHAR(30) NOT NULL; |
删除字段 | ALTER TABLE teacherInfo DROP COLUMN address; |
ALTER TABLE teacherInfo DROP COLUMN address; |
修改列名 | ALTER TABLE teacherInfo CHANGE num num_new INT(10) NOT NULL; |
EXEC sp_rename 'teacherInfo.num', 'num_new', 'COLUMN'; |
修改表名 | ALTER TABLE teacherInfo RENAME TO teacherInfo_new; |
EXEC sp_rename 'teacherInfo', 'teacherInfo_lnfo'; |
修改约束
ALTER TABLE
语句除了可以修改表结构外,还可以修改表的约束:
1、增加约束
ALTER TABLE 表名 ADD CONSTRAINT 约束名称 约束类型(字段); -- 表级约束
ALTER TABLE 表名 ALTER 列名 数据类型 约束类型; -- 列级约束
2、删除约束
ALTER TABLE 表名 DROP CONSTRAINT 约束名称;
如果需要修改已有的约束,可以采用先删除后增加的方法。