SQL ALTER TABLE 语句
SQL ALTER TABLE
语句用于在现有表中添加、删除或修改列,也可用于添加和删除各种约束。
ALTER TABLE – 添加列
ALTER TABLE 表名
ADD 列名 数据类型;
以下 SQL 向 “Customers” 表添加了一个 “Email” 列:
ALTER TABLE Customers
ADD Email varchar(255);
ALTER TABLE – 删除列
要在表中删除列,请使用以下语法(请注意,某些数据库系统不允许删除列):
ALTER TABLE 表名
DROP COLUMN 列名;
以下 SQL 从 “Customers” 表中删除了 “Email” 列:
ALTER TABLE Customers
DROP 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 示例
ID LastName FirstName Address City
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger
现在,我们想在 “Persons” 表中添加一个名为 “DateOfBirth” 的列。
ALTER TABLE Persons
ADD DateOfBirth date;
请注意,新列 “DateOfBirth” 的数据类型为 date,将保存日期。
ID LastName FirstName Address City DateOfBirth
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger
更改数据类型示例
现在,我们想更改 “Persons” 表中名为 “DateOfBirth” 的列的数据类型。
ALTER TABLE Persons
ALTER COLUMN DateOfBirth year;
请注意,“DateOfBirth” 列现在的数据类型为 year,将保存以两位或四位格式表示的年份。
删除列示例
接下来,我们想删除 “Persons” 表中名为 “DateOfBirth” 的列。
ALTER TABLE Persons
DROP COLUMN DateOfBirth;
ID LastName FirstName Address City
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 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
,关注后即可获取最新文章推送
原文地址:https://blog.csdn.net/2302_76489021/article/details/134842013
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_49877.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!