SQL修改表(ALTER TABLE)
1.ALTER TABLE的基本用途:在SQL中,ALTER TABLE
命令用于修改现有表的结构,包括添加、删除、重命名列,以及修改列的数据类型。
2.添加和修改列:可以使用ALTER TABLE
加ADD
子句在表中添加新列,或者使用MODIFY
或ALTER COLUMN
子句更改列的数据类型。
3.删除和重命名操作:ALTER TABLE
还支持删除(使用DROP COLUMN
)和重命名(使用RENAME TO
或RENAME COLUMN
)列和表的功能。
在 SQL 中,ALTER TABLE
命令用于修改现有表的结构,例如添加、删除、重命名列等。
示例
ALTER TABLE Customers
ADD phone varchar(10);
这里,SQL 命令在 Customers
表中添加了一个名为 phone
的列。
ALTER TABLE 语法
SQL ALTER TABLE
语句的语法是:
ALTER TABLE 表名
子句 支持代码;
这里,
表名
是要修改的表的名称子句
提供有关如何更改表的进一步信息,如ADD
、RENAME COLUMN
等。支持代码
是支持子句的代码
ALTER TABLE 操作
我们可以使用 ALTER TABLE
命令在表上执行以下操作:
- 添加列
- 重命名列
- 修改列
- 删除列
- 重命名表
在表中添加列
我们可以使用 ALTER TABLE
命令和 ADD
子句在表中添加列。例如,
ALTER TABLE Customers
ADD phone varchar(10);
这里,SQL 命令在 Customers
表中添加了一个名为 phone
的列。
在表中添加多个列
我们还可以一次向表中添加多个列。例如,
-- 在 Customers 表中添加 phone 和 age 列
ALTER TABLE Customers
ADD phone varchar(10), age int;
这里,SQL 命令在 Customers
表中添加了 phone
和 age
列。
注意: 由于我们的编译器使用 SQLite,它不支持使用 ALTER TABLE
添加多个列。然而,许多其他数据库管理系统支持这个命令。
在表中重命名列
我们可以使用 ALTER TABLE
命令和 RENAME COLUMN
子句重命名表中的列。例如,
ALTER TABLE Customers
RENAME COLUMN customer_id TO c_id;
这里,SQL 命令将 Customers
表中的 customer_id
列名更改为 c_id
。
修改列的数据类型
我们还可以使用 ALTER TABLE
命令和 MODIFY
或 ALTER COLUMN
子句更改列的数据类型。例如,
SQL Server
ALTER TABLE Customers
ALTER COLUMN age VARCHAR(2);
MySQL
ALTER TABLE Customers
MODIFY COLUMN age VARCHAR(2);
Oracle
ALTER TABLE Customers
MODIFY age VARCHAR(2);
PostgreSQL
ALTER TABLE Customers
ALTER COLUMN age TYPE VARCHAR(2);
这里,SQL 命令将 Customers
表中的 age
列的数据类型更改为 VARCHAR
。
注意: SQLite 不支持此命令。
在表中删除列
我们还可以使用 ALTER TABLE
命令和 DROP
子句删除(移除)表中的列。例如,
ALTER TABLE Customers
DROP COLUMN country;
这里,SQL 命令从 Customers
表中移除了 country
列。
重命名表
我们可以使用 ALTER TABLE
命令和 RENAME
子句更改表的名称。例如,
ALTER TABLE Customers
RENAME TO New_customers;
这里,SQL 命令将 Customers
表重命名为 New_customers
。