SQL ALTER TABLE 语句
SQL ALTER TABLE
语句用于在现有表中添加、删除或修改列,也可用于添加和删除各种约束。
ALTER TABLE – 添加列
要在表中添加列,请使用以下语法:
ALTER TABLE 表名ADD 列名 数据类型;
以下 SQL 向 “Customers” 表添加了一个 “Email” 列:
ALTER TABLE CustomersADD Email varchar(255);
ALTER TABLE – 删除列
要在表中删除列,请使用以下语法(请注意,某些数据库系统不允许删除列):
ALTER TABLE 表名DROP COLUMN 列名;
以下 SQL 从 “Customers” 表中删除了 “Email” 列:
ALTER TABLE CustomersDROP COLUMN Email;
ALTER TABLE – 重命名列
要在表中重命名列,请使用以下语法:
ALTER TABLE 表名RENAME COLUMN 旧名 TO 新名;
ALTER TABLE – 修改数据类型
要更改表中列的数据类型,请使用以下语法:
对于 SQL Server / MS Access:
ALTER TABLE 表名ALTER COLUMN 列名 数据类型;
对于 MySQL / Oracle(10G 之前的版本):
ALTER TABLE 表名MODIFY COLUMN 列名 数据类型;
对于 Oracle 10G 及更高版本:
ALTER TABLE 表名MODIFY 列名 数据类型;
SQL ALTER TABLE 示例
看看 “Persons” 表:
ID LastName FirstName Address City1 Hansen Ola Timoteivn 10 Sandnes2 Svendson Tove Borgvn 23 Sandnes3 Pettersen Kari Storgt 20 Stavanger
现在,我们想在 “Persons” 表中添加一个名为 “DateOfBirth” 的列。
我们使用以下 SQL 语句:
ALTER TABLE PersonsADD DateOfBirth date;
请注意,新列 “DateOfBirth” 的数据类型为 date,将保存日期。
“Persons” 表现在如下所示:
ID LastName FirstName Address City DateOfBirth1 Hansen Ola Timoteivn 10 Sandnes 2 Svendson Tove Borgvn 23 Sandnes 3 Pettersen Kari Storgt 20 Stavanger
更改数据类型示例
现在,我们想更改 “Persons” 表中名为 “DateOfBirth” 的列的数据类型。
我们使用以下 SQL 语句:
ALTER TABLE PersonsALTER COLUMN DateOfBirth year;
请注意,”DateOfBirth” 列现在的数据类型为 year,将保存以两位或四位格式表示的年份。
删除列示例
接下来,我们想删除 “Persons” 表中名为 “DateOfBirth” 的列。
我们使用以下 SQL 语句:
ALTER TABLE PersonsDROP COLUMN DateOfBirth;
“Persons” 表现在如下所示:
ID LastName FirstName Address City1 Hansen Ola Timoteivn 10 Sandnes2 Svendson Tove Borgvn 23 Sandnes3 Pettersen Kari Storgt 20 Stavanger
希望这些例子能够帮助您更好地理解 SQL ALTER TABLE 语句的用法。
SQL 约束
SQL 约束用于指定表中数据的规则,以确保数据的准确性和可靠性。约束可以在创建表时指定,也可以在创建表后使用 ALTER TABLE
语句添加。
创建表时指定约束
CREATE TABLE 表名 ( 列1 数据类型 约束, 列2 数据类型 约束, 列3 数据类型 约束, ....);
常用的约束类型1. NOT NULL 约束
确保列不能有 NULL 值。
CREATE TABLE 表名 ( 列1 数据类型 NOT NULL, 列2 数据类型, 列3 数据类型, ....);
2. UNIQUE 约束
确保列中的所有值都是不同的。
CREATE TABLE 表名 ( 列1 数据类型 UNIQUE, 列2 数据类型, 列3 数据类型, ....);
3. PRIMARY KEY 约束
是 NOT NULL 和 UNIQUE 约束的组合,在表中唯一标识每一行。
CREATE TABLE 表名 ( 列1 数据类型 PRIMARY KEY, 列2 数据类型, 列3 数据类型, ....);
4. FOREIGN KEY 约束
用于防止破坏表之间关系的操作。
CREATE TABLE 表名1 ( 列1 数据类型 PRIMARY KEY, 列2 数据类型, 列3 数据类型, ....);CREATE TABLE 表名2 ( 列A 数据类型, 列B 数据类型, 列C 数据类型, FOREIGN KEY (列A) REFERENCES 表名1(列1));
5. CHECK 约束
确保列中的值满足特定条件。
CREATE TABLE 表名 ( 列1 数据类型, 列2 数据类型 CHECK (列2 > 0), 列3 数据类型, ....);
6. DEFAULT 约束
如果未指定值,则为列设置默认值。
CREATE TABLE 表名 ( 列1 数据类型, 列2 数据类型 DEFAULT 默认值, 列3 数据类型, ....);
7. CREATE INDEX 约束
用于快速创建和检索数据库中的数据。
CREATE INDEX 索引名ON 表名 (列1, 列2, 列3, ...);
这些约束类型可以根据表的设计和需求进行灵活组合使用,以确保数据库中的数据的完整性和一致性。
最后
为了方便其他设备和平台的小伙伴观看往期文章:
微信公众号搜索:Let us Coding
,关注后即可获取最新文章推送
看完如果觉得有帮助,欢迎 点赞、收藏、关注