SQL ALTER TABLE 语句- 灵活修改表结构和数据类型

打印 上一主题 下一主题

主题 1052|帖子 1052|积分 3156

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
SQL ALTER TABLE 语句

SQL ALTER TABLE 语句用于在现有表中添加、删除或修改列,也可用于添加和删除各种约束。
ALTER TABLE - 添加列

要在表中添加列,请使用以下语法:
  1. ALTER TABLE 表名
  2. ADD 列名 数据类型;
复制代码
以下 SQL 向 "Customers" 表添加了一个 "Email" 列:
  1. ALTER TABLE Customers
  2. ADD Email varchar(255);
复制代码
ALTER TABLE - 删除列

要在表中删除列,请使用以下语法(请注意,某些数据库系统不允许删除列):
  1. ALTER TABLE 表名
  2. DROP COLUMN 列名;
复制代码
以下 SQL 从 "Customers" 表中删除了 "Email" 列:
  1. ALTER TABLE Customers
  2. DROP COLUMN Email;
复制代码
ALTER TABLE - 重命名列

要在表中重命名列,请使用以下语法:
  1. ALTER TABLE 表名
  2. RENAME COLUMN 旧名 TO 新名;
复制代码
ALTER TABLE - 修改数据类型

要更改表中列的数据类型,请使用以下语法:
对于 SQL Server / MS Access:
  1. ALTER TABLE 表名
  2. ALTER COLUMN 列名 数据类型;
复制代码
对于 MySQL / Oracle(10G 之前的版本):
  1. ALTER TABLE 表名
  2. MODIFY COLUMN 列名 数据类型;
复制代码
对于 Oracle 10G 及更高版本:
  1. ALTER TABLE 表名
  2. MODIFY 列名 数据类型;
复制代码
SQL ALTER TABLE 示例

看看 "ersons" 表:
  1. ID  LastName  FirstName  Address  City
  2. 1  Hansen  Ola  Timoteivn 10  Sandnes
  3. 2  Svendson  Tove  Borgvn 23  Sandnes
  4. 3  Pettersen  Kari  Storgt 20  Stavanger
复制代码
现在,我们想在 "ersons" 表中添加一个名为 "DateOfBirth" 的列。
我们使用以下 SQL 语句:
  1. ALTER TABLE Persons
  2. ADD DateOfBirth date;
复制代码
请注意,新列 "DateOfBirth" 的数据类型为 date,将保存日期。
"ersons" 表现在如下所示:
  1. ID  LastName  FirstName  Address  City  DateOfBirth
  2. 1  Hansen  Ola  Timoteivn 10  Sandnes   
  3. 2  Svendson  Tove  Borgvn 23  Sandnes   
  4. 3  Pettersen  Kari  Storgt 20  Stavanger   
复制代码
更改数据类型示例

现在,我们想更改 "ersons" 表中名为 "DateOfBirth" 的列的数据类型。
我们使用以下 SQL 语句:
  1. ALTER TABLE Persons
  2. ALTER COLUMN DateOfBirth year;
复制代码
请注意,"DateOfBirth" 列现在的数据类型为 year,将保存以两位或四位格式表示的年份。
删除列示例

接下来,我们想删除 "ersons" 表中名为 "DateOfBirth" 的列。
我们使用以下 SQL 语句:
  1. ALTER TABLE Persons
  2. DROP COLUMN DateOfBirth;
复制代码
"ersons" 表现在如下所示:
  1. ID  LastName  FirstName  Address  City
  2. 1  Hansen  Ola  Timoteivn 10  Sandnes
  3. 2  Svendson  Tove  Borgvn 23  Sandnes
  4. 3  Pettersen  Kari  Storgt 20  Stavanger
复制代码
希望这些例子能够帮助您更好地理解 SQL ALTER TABLE 语句的用法。
SQL 约束

SQL 约束用于指定表中数据的规则,以确保数据的准确性和可靠性。约束可以在创建表时指定,也可以在创建表后使用 ALTER TABLE 语句添加。
创建表时指定约束
  1. CREATE TABLE 表名 (
  2.     列1 数据类型 约束,
  3.     列2 数据类型 约束,
  4.     列3 数据类型 约束,
  5.     ....
  6. );
复制代码
常用的约束类型

1. NOT NULL 约束

确保列不能有 NULL 值。
  1. CREATE TABLE 表名 (
  2.     列1 数据类型 NOT NULL,
  3.     列2 数据类型,
  4.     列3 数据类型,
  5.     ....
  6. );
复制代码
2. UNIQUE 约束

确保列中的所有值都是不同的。
  1. CREATE TABLE 表名 (
  2.     列1 数据类型 UNIQUE,
  3.     列2 数据类型,
  4.     列3 数据类型,
  5.     ....
  6. );
复制代码
3. PRIMARY KEY 约束

是 NOT NULL 和 UNIQUE 约束的组合,在表中唯一标识每一行。
  1. CREATE TABLE 表名 (
  2.     列1 数据类型 PRIMARY KEY,
  3.     列2 数据类型,
  4.     列3 数据类型,
  5.     ....
  6. );
复制代码
4. FOREIGN KEY 约束

用于防止破坏表之间关系的操作。
  1. CREATE TABLE 表名1 (
  2.     列1 数据类型 PRIMARY KEY,
  3.     列2 数据类型,
  4.     列3 数据类型,
  5.     ....
  6. );
  7. CREATE TABLE 表名2 (
  8.     列A 数据类型,
  9.     列B 数据类型,
  10.     列C 数据类型,
  11.     FOREIGN KEY (列A) REFERENCES 表名1(列1)
  12. );
复制代码
5. CHECK 约束

确保列中的值满足特定条件。
  1. CREATE TABLE 表名 (
  2.     列1 数据类型,
  3.     列2 数据类型 CHECK (列2 > 0),
  4.     列3 数据类型,
  5.     ....
  6. );
复制代码
6. DEFAULT 约束

如果未指定值,则为列设置默认值。
  1. CREATE TABLE 表名 (
  2.     列1 数据类型,
  3.     列2 数据类型 DEFAULT 默认值,
  4.     列3 数据类型,
  5.     ....
  6. );
复制代码
7. CREATE INDEX 约束

用于快速创建和检索数据库中的数据。
  1. CREATE INDEX 索引名
  2. ON 表名 (列1, 列2, 列3, ...);
复制代码
这些约束类型可以根据表的设计和需求进行灵活组合使用,以确保数据库中的数据的完整性和一致性。
最后

为了方便其他设备和平台的小伙伴观看往期文章:
微信公众号搜索:Let us Coding,关注后即可获取最新文章推送
看完如果觉得有帮助,欢迎 点赞、收藏、关注

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

反转基因福娃

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表