表创建完成后,如果想要对表进行修改,比如修改表名、增删字段、更改数据类型等,就需要使用ALTER
命令。以下是ALTER
的用法和实例:
修改表名
ALTER TABLE 旧表名
RENAME TO 新表名
新建一个testtable
表并将其修改为table1
CREATE TABLE testtable(
id int
);
删除表
DROP TABLE 表名;
删除刚才创建的table1
DROP TABLE table1;
添加列
添加列时默认追加到末尾,不过可通过参数指定位置,可选参数有ALTER 列名
、FIRST
ALTER TABLE 表名
ADD COLUMN 新列名 数据类型 [数据约束] [AFTER 列名/FIRST];
在上一节中新建的drop
表中添加一列"生日",数据类型为DATE,默认值为2001-01-01。
ALTER TABLE `drop`
ADD COLUMN 生日 DATE DEFAULT "2001-01-01";
可以看到新列“生日”已经添加上了,同时设置了默认值“2001-01-01”
修改列名及数据类型
ALTER TABLE 列名
CHANGE COLUMN 旧列名 新列名 数据类型 [数据约束];
如果不需要修改列名,仅修改数据类型,可以新旧列名写同一个。
我们在前面曾经提到过,固定长度的字符串使用CHAR(),现要将原表中的电话号码改为手机号码,同时将数据类型改为CHAR()
ALTER TABLE `drop`
CHANGE COLUMN 电话号码 手机号码 CHAR(11);
可以看到,"电话号码"列已经变成了"手机号码",同时数据类型变为了CHAR(11),表示这是一个11位字符的字符串。
事实上,所有对字段名、数据类型、约束的修改都可以通过此方法来完成,不过我们接下来还是会介绍如何只针对约束进行操作。
删除列
ALTER TABLE 表名
DROP COLUMN 列名
将drop
表中的"生日"列删除
ALTER TABLE `drop`
DROP COLUMN 生日;
删除主键约束
ALTER TABLE 表名
DROP PRIMARY KEY;
删除drop
表中的主键约束
ALTER TABLE `drop`
DROP PRIMARY KEY;
添加主键约束
ALTER TABLE 表名
ADD PRIMARY KEY (列名);
将drop
表的学号字段设置为主键
ALTER TABLE `drop`
ADD PRIMARY KEY (学号);
添加外键约束
ALTER TABLE 子表名
ADD CONSTRAINT 外键名
FOREIGN KEY (外键列)
REFERENCES 父表名 (列名);
修改默认约束
ALTER TABLE 表名
ALTER 列名 SET DEFAULT 默认值;
将drop
表中的性别列默认值修改为女
ALTER TABLE `drop`
ALTER 性别 SET DEFAULT "女";
删除默认约束
ALTER TABLE 表名
ALTER 列名 DROP DEFAULT;
删除drop
表中性别列的默认约束
ALTER TABLE `drop`
ALTER 性别 DROP DEFAULT;
Comments NOTHING