TL;DR – SQL 中的 ALTER TABLE 语句用于删除、添加或修改表列。您还可以使用它来删除和添加各种表约束。
内容
向表中添加新列
例复制
ALTER TABLE mytable_nameADD mycolumn_name datatype;
注意:默认情况下,新列将添加到表格的末尾。您可以通过用逗号分隔多列来添加它们。
删除列
例复制
ALTER TABLE mytable_nameDROP COLUMN mycolumn_name;
更改特定列的数据类型
注意:更改数据类型时,请确保旧数据类型和新数据类型兼容。否则,您可能会遇到转换错误。
在MySQL / Oracle(< 10G)中
例复制
ALTER TABLE mytable_nameMODIFY COLUMN mycolumn_name datatype;
在 SQL Server/MS Access 中
例复制
ALTER TABLE mytable_nameALTER COLUMN mycolumn_name datatype;
在 Oracle 10G 及更高版本中
例复制
ALTER TABLE mytable_nameMODIFY mycolumn_name datatype;
使用演示数据库的示例
“开发人员”表
| 编号 | 名字 | 城市 | 国家 |
|---|---|---|---|
| 1 | 汤姆·库尔库蒂斯 | 纽约 | 美国 |
| 2 | 安娜·费尔南德斯 | 伦敦 | 英国 |
| 3 | 安东尼奥·靛蓝 | 巴黎 | 法国 |
| 4 | 阿拉夫·凯林(Aarav Kaelin) | 德里 | 印度 |
| 5 | 安德鲁·图莫塔 | 迈阿密 | 美国 |
| 6 | 巴斯玛·兹拉塔 | 迈阿密 | 美国 |
添加名为 BirthDate 的列
例复制
ALTER TABLE DevelopersADD BirthDate date;
结果
| 编号 | 名字 | 城市 | 国家 | 生日 |
|---|---|---|---|---|
| 1 | 汤姆·库尔库蒂斯 | 纽约 | 美国 | |
| 2 | 安娜·费尔南德斯 | 伦敦 | 英国 | |
| 3 | 安东尼奥·靛蓝 | 巴黎 | 法国 | |
| 4 | 阿拉夫·凯林(Aarav Kaelin) | 德里 | 印度 | |
| 5 | 安德鲁·图莫塔 | 迈阿密 | 美国 | |
| 6 | 巴斯玛·兹拉塔 | 迈阿密 | 美国 |
将数据类型更改为年份
例复制
ALTER TABLE DevelopersALTER COLUMN BirthDate year;
删除“出生日期”列
例复制
ALTER TABLE DevelopersDROP COLUMN BirthDate;
结果
| 编号 | 名字 | 城市 | 国家 |
|---|---|---|---|
| 1 | 汤姆·库尔库蒂斯 | 纽约 | 美国 |
| 2 | 安娜·费尔南德斯 | 伦敦 | 英国 |
| 3 | 安东尼奥·靛蓝 | 巴黎 | 法国 |
| 4 | 阿拉夫·凯林(Aarav Kaelin) | 德里 | 印度 |
| 5 | 安德鲁·图莫塔 | 迈阿密 | 美国 |
| 6 | 巴斯玛·兹拉塔 | 迈阿密 | 美国 |
陕公网安备 61012502000223号
评论一下吧