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

 更新时间:2023年12月07日 08:43:41   作者:小万哥  
这篇文章主要介绍了SQL ALTER TABLE语句灵活修改表结构和数据类型,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

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 示例

看看 "Persons" 表:

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" 的列。

我们使用以下 SQL 语句:

ALTER TABLE Persons
ADD DateOfBirth date;

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

"Persons" 表现在如下所示:

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" 的列的数据类型。

我们使用以下 SQL 语句:

ALTER TABLE Persons
ALTER COLUMN DateOfBirth year;

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

删除列示例

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

我们使用以下 SQL 语句:

ALTER TABLE Persons
DROP COLUMN DateOfBirth;

"Persons" 表现在如下所示:

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, ...);

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

以上就是SQL ALTER TABLE 语句- 灵活修改表结构和数据类型的详细内容,更多关于SQL ALTER TABLE修改表结构数据的资料请关注脚本之家其它相关文章!

相关文章

  • Windows XP系统安装MySQL5.5.28图解教程

    Windows XP系统安装MySQL5.5.28图解教程

    很多朋友在winxp系统中开发php等,需要安装mysql数据库,这里简单介绍下,如何在xp下安装mysql软件,其实跟其它系统都差不多,主要是软件对系统的兼容性
    2013-05-05
  • 详解关于MySQL 8.0走过的坑

    详解关于MySQL 8.0走过的坑

    这篇文章主要介绍了详解关于MySQL 8.0走过的坑,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-09-09
  • 使用mysql语句查看数据库表所占容量空间大小

    使用mysql语句查看数据库表所占容量空间大小

    这篇文章主要给大家介绍了关于如何使用mysql语句查看数据库表所占容量空间大小的相关资料,如何在MySQL数据库管理中查询数据库、表、索引的容量大小是经常遇到的需求,需要的朋友可以参考下
    2023-08-08
  • MySql数据库查询中的特殊命令

    MySql数据库查询中的特殊命令

    本文给大家介绍了MySql数据库查询中的特殊命令,包括mysql的安装,特殊查询语句,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-11-11
  • MySQL中ALTER LOGFILE GROUP 语句的具体使用

    MySQL中ALTER LOGFILE GROUP 语句的具体使用

    ALTER LOGFILE GROUP语句用于修改重做日志组的配置,本文主要介绍了MySQL中ALTER LOGFILE GROUP 语句的具体使用,需要的朋友们下面随着小编来一起学习学习吧
    2024-07-07
  • MySQL服务器的SSD性能问题分析和测试详解

    MySQL服务器的SSD性能问题分析和测试详解

    这篇文章主要给大家介绍了关于MySQL服务器的SSD性能问题分析和测试的相关资料,文中图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-11-11
  • mysql8.0.0 winx64.zip解压版安装配置教程

    mysql8.0.0 winx64.zip解压版安装配置教程

    这篇文章主要为大家详细介绍了mysql8.0.0 winx64.zip解压版安装配置教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-05-05
  • Mysql中的sql优化实践详解

    Mysql中的sql优化实践详解

    这篇文章主要介绍了Mysql中的sql优化实践详解,SQL优化是指通过改进SQL语句的编写和查询计划的设计来提高数据库查询性能的过程,在优化SQL时,可以采取一些措施来提升查询性能,需要的朋友可以参考下
    2023-09-09
  • 从零教会你如何进行前后端的数据库(MySQL)连接操作

    从零教会你如何进行前后端的数据库(MySQL)连接操作

    这篇文章主要介绍了如何从零开始实现一个完整的前后端项目,将数据存储在MySQL数据库中,并通过API进行实时的更新、查询、修改和删除操作,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2025-02-02
  • Mysql8主从复制解读(兼容低高版本)

    Mysql8主从复制解读(兼容低高版本)

    文章详细介绍了MySQL主从复制的理论知识、必要前提、实现原理、binlog的三种类型以及主从同步的具体步骤,通过配置主库和从库的MySQL配置文件,并创建用于主从同步的用户,可以实现主从复制,最后,文章还讨论了主从同步的验证和故障切换的方法
    2025-02-02

最新评论