SQL 添加/删除/更新列操作
语句 ALTER TABLE 主要用于对现有表进行 删除 、 添加 或 修改 列的操作。它还可以在当前表上添加许多约束。
ADD COLUMN 用于将特定表添加到现有表中。我们可以在不再创建整个数据库的情况下添加附加信息。
SQL添加列操作用于将列操作添加到现有的SQL表中。我们可以根据需要删除表并重新创建。在生产环境中,它具有破坏性,因为它涉及到数据。
ADD COLUMN的语法
使用事务SQL命令在表之前执行添加列操作。
ALTER TABLE table_name
ADD column_name column_definition;
根据语法,
- 首先指定要添加新列的表。
- 然后,我们从 ADD Column 指定列的定义。
列定义的语法:
Column_name date_type constraints;
如果我们想要使用任意一个语句向现有表添加多列,我们可以使用以下语法:
ALTER TABLE table_name (Name of the table)
ADD [COLUMN] column_definition, (for adding column)
ADD [COLUMN] column_definition,
...;
许多数据库支持 ALTER TABLE ADD COLUMN 语句。
通过SQL向表中添加任何一列,我们可以通过 ALTER TABLE 命令指定是否要更改表结构,该命令后面跟随 ADD 命令在RDBMS中。
语法:
ALTER TABLE Add Column 的语法是,
ALTER TABLE "table_name"
ADD "column_name" "Data Type";
示例:
看下面的例子。假设我们的起始点是在 学生 数据表,它在 CREATE TABLE 部分创建:
数据表 学生
Column Name | Data Type |
---|---|
First_Name | char(30) |
Last_Name | char(25) |
Birth_Date | datetime |
Address | char(50) |
City | char(40) |
Country | char(20) |
例1:向表中添加一列
如果我们要添加一个名为” 性别 “的列。那么,我们应该写:
ALTER TABLE Student ADD Gender char(1);
以下是结果:
表格 学生
Column Name | Data Type |
---|---|
First_Name | char(30) |
Last_Name | char(25) |
Birth_Date | datetime |
Address | char(50) |
City | char(40) |
Country | char(20) |
Gender | char(1) |
注意:新的名为“Gender”的列成为Student表中的最后一列。
示例2:向表中添加多列
可以添加多个列。
例如 ,如果我们想要添加一个名为“ 电话 ”的列和另一个名为“ 邮件 ”的列,则应输入以下内容:
MySQL :
ALTER TABLE Student ADD (Telephone char(15), Email char(20) );
现在表格变成了:
表格 学生
Column Name | Data Type |
---|---|
First_Name | char(30) |
Last_Name | char(25) |
Birth_Date | datetime |
Address | char(50) |
City | char(40) |
Country | char(20) |
Gender | char(1) |
Telephone | char(15) |
char(20) |
删除表命令
删除列用于删除表中的列。它用于从表中删除不必要的列。
语法:
ALTER TABLE table_name /name of table
DROP COLUMN column_name;
ALTER TABLE- MODIFY
修改函数用于修改简单表中的现有列。可以一次更改多个列。
语法:
ALTER TABLE table_name
MODIFY column_name column_type;
员工表
ROLL_NO | Name OF Employee |
---|---|
1 | Jessy |
2 | Trump |
3 | Stephan |
4 | Hawkins |
查询:
- 向Student表中添加两列 COURSE 和 AGE
ALTER TABLE EMPLOYEE ADD (AGE number(3),COURSE varchar(20));
输出:
ROLL_NO | Name of employee | AGE | COURSE |
---|---|---|---|
1 | Jessy | ||
2 | Trump | ||
3 | Stephan | ||
4 | Hawkins |
- 对表Employee中的列AGE进行“修改”
ALTER TABLE EMPLOYEE MODIFY COURSE varchar(15);
运行上述查询后,当然,列的最大长度从 20 减小到 15 。
- 在Employee表中 DROP 列。
ALTER TABLE EMPLOYEE DROP COLUMN AGE;
输出:
ROLL_NO NAME | COURSE |
---|---|
1 | Ram | |
2 | Abhi | |
3 | Rahul | |
4 | Tanu | |