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

SQL ALTER TABLE 语句

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

ALTER TABLE - 添加列

要在表中添加列,请使用以下语法:

1ALTER TABLE 表名 2ADD 列名 数据类型;

以下 SQL 向 "Customers" 表添加了一个 "Email" 列:

1ALTER TABLE Customers 2ADD Email varchar(255);

ALTER TABLE - 删除列

要在表中删除列,请使用以下语法(请注意,某些数据库系统不允许删除列):

1ALTER TABLE 表名 2DROP COLUMN 列名;

以下 SQL 从 "Customers" 表中删除了 "Email" 列:

1ALTER TABLE Customers 2DROP COLUMN Email;

ALTER TABLE - 重命名列

要在表中重命名列,请使用以下语法:

1ALTER TABLE 表名 2RENAME COLUMN 旧名 TO 新名;

ALTER TABLE - 修改数据类型

要更改表中列的数据类型,请使用以下语法:

对于 SQL Server / MS Access:

1ALTER TABLE 表名 2ALTER COLUMN 列名 数据类型;

对于 MySQL / Oracle(10G 之前的版本):

1ALTER TABLE 表名 2MODIFY COLUMN 列名 数据类型;

对于 Oracle 10G 及更高版本:

1ALTER TABLE 表名 2MODIFY 列名 数据类型;

SQL ALTER TABLE 示例

看看 "Persons" 表:

1ID LastName FirstName Address City 21 Hansen Ola Timoteivn 10 Sandnes 32 Svendson Tove Borgvn 23 Sandnes 43 Pettersen Kari Storgt 20 Stavanger

现在,我们想在 "Persons" 表中添加一个名为 "DateOfBirth" 的列。

我们使用以下 SQL 语句:

1ALTER TABLE Persons 2ADD DateOfBirth date;

请注意,新列 "DateOfBirth" 的数据类型为 date,将保存日期。

"Persons" 表现在如下所示:

1ID LastName FirstName Address City DateOfBirth 21 Hansen Ola Timoteivn 10 Sandnes 32 Svendson Tove Borgvn 23 Sandnes 43 Pettersen Kari Storgt 20 Stavanger

更改数据类型示例

现在,我们想更改 "Persons" 表中名为 "DateOfBirth" 的列的数据类型。

我们使用以下 SQL 语句:

1ALTER TABLE Persons 2ALTER COLUMN DateOfBirth year;

请注意,"DateOfBirth" 列现在的数据类型为 year,将保存以两位或四位格式表示的年份。

删除列示例

接下来,我们想删除 "Persons" 表中名为 "DateOfBirth" 的列。

我们使用以下 SQL 语句:

1ALTER TABLE Persons 2DROP COLUMN DateOfBirth;

"Persons" 表现在如下所示:

1ID LastName FirstName Address City 21 Hansen Ola Timoteivn 10 Sandnes 32 Svendson Tove Borgvn 23 Sandnes 43 Pettersen Kari Storgt 20 Stavanger

希望这些例子能够帮助您更好地理解 SQL ALTER TABLE 语句的用法。

SQL 约束

SQL 约束用于指定表中数据的规则,以确保数据的准确性和可靠性。约束可以在创建表时指定,也可以在创建表后使用 ALTER TABLE 语句添加。

创建表时指定约束

1CREATE TABLE 表名 ( 21 数据类型 约束, 32 数据类型 约束, 43 数据类型 约束, 5 .... 6);

常用的约束类型

1. NOT NULL 约束

确保列不能有 NULL 值。

1CREATE TABLE 表名 ( 21 数据类型 NOT NULL, 32 数据类型, 43 数据类型, 5 .... 6);

2. UNIQUE 约束

确保列中的所有值都是不同的。

1CREATE TABLE 表名 ( 21 数据类型 UNIQUE, 32 数据类型, 43 数据类型, 5 .... 6);

3. PRIMARY KEY 约束

是 NOT NULL 和 UNIQUE 约束的组合,在表中唯一标识每一行。

1CREATE TABLE 表名 ( 21 数据类型 PRIMARY KEY, 32 数据类型, 43 数据类型, 5 .... 6);

4. FOREIGN KEY 约束

用于防止破坏表之间关系的操作。

1CREATE TABLE 表名1 ( 21 数据类型 PRIMARY KEY, 32 数据类型, 43 数据类型, 5 .... 6); 7 8CREATE TABLE 表名2 ( 9 列A 数据类型, 10 列B 数据类型, 11 列C 数据类型, 12 FOREIGN KEY (列A) REFERENCES 表名1(1) 13);

5. CHECK 约束

确保列中的值满足特定条件。

1CREATE TABLE 表名 ( 21 数据类型, 32 数据类型 CHECK (2 > 0), 43 数据类型, 5 .... 6);

6. DEFAULT 约束

如果未指定值,则为列设置默认值。

1CREATE TABLE 表名 ( 21 数据类型, 32 数据类型 DEFAULT 默认值, 43 数据类型, 5 .... 6);

7. CREATE INDEX 约束

用于快速创建和检索数据库中的数据。

1CREATE INDEX 索引名 2ON 表名 (1,2,3, ...);

这些约束类型可以根据表的设计和需求进行灵活组合使用,以确保数据库中的数据的完整性和一致性。

最后

为了方便其他设备和平台的小伙伴观看往期文章:

微信公众号搜索:Let us Coding,关注后即可获取最新文章推送

看完如果觉得有帮助,欢迎 点赞、收藏、关注

点赞
收藏

评论区

加载中...

相关推荐

SQL 删除外键列

一 SQL删除列的语句是:altertabletableNamedropcolumncolumnName(其中,tableName为表名,columnName为列名)但是,如果某列有约束时,不能直接删除,需要先删除约束,再删除列。如果某个列是外键,在不知道外键约束名称的情况下,那么首先是查找外键约束名称,根据名称删除约束,

mysql 修改表或表结构常用sql语句

批量修改表名的sql语句altertableold_namerenamenew_name;修改表名altertabletestaddcolumnadd_namevarchar(10);添加表列altertabletestdropcolumndel_name;删除表列altertabletestm

MySQL 添加列,修改列,删除列

ALTERTABLE:添加,修改,删除表的列,约束等表的定义。查看列信息:desc表名;修改表名:altertablet\_bookrenametobbb;添加列:altertable表名addcolumn字段名varchar(length);删除列:altertable表名drop

MySQL:ALTER COLUMN、MODIFY COLUMN 和 CHANGE COLUMN

ALTERCOLUMN、MODIFYCOLUMN和CHANGECOLUMN语句修改列:ALTERCOLUMN:改变、删除列的默认值(备注:列的默认值存储在.frm文件中)。这个语句会直接修改 .frm文件而不涉及表数据,所以操作很快。改变列的默认值ALTERTABLEtest

MySQL数据查询(重点)

1.查询所有列  \为所有列select\fromtable\_name;2.查询指定列selectid,agefromtable\_name;3.查询时添加常量列本次查询有效,不会添加到表中,只显示 可以用as来命名本列名select'java0328'fromtable\_name;

mysql常用命令

mysql常用命令——删除主键,添加新主键【适用于以前主键不是id的场景】altertable表名change现在主键名现在主键名int(11);altertable表名dropprimarykey;altertable表名addCOLUMN新主键名INT(11)NOTNUL