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

这篇具有很好参考价值的文章主要介绍了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, ...);

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

最后

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

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

看完如果觉得有帮助,欢迎 点赞、收藏、关注文章来源地址https://www.toymoban.com/news/detail-749028.html

到了这里,关于SQL ALTER TABLE 语句- 灵活修改表结构和数据类型的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【SQL开发实战技巧】系列(八):聊聊如何插入数据时比约束更灵活的限制数据插入以及怎么一个insert语句同时插入多张表

    【SQL开发实战技巧】系列(一):关于SQL不得不说的那些事 【SQL开发实战技巧】系列(二):简单单表查询 【SQL开发实战技巧】系列(三):SQL排序的那些事 【SQL开发实战技巧】系列(四):从执行计划讨论UNION ALL与空字符串UNION与OR的使用注意事项 【SQL开发实战技巧】系列

    2024年01月15日
    浏览(52)
  • 030、SQL语句之数据类型与表达式

    类型 存储空间 最小值(有符号/无符号) 最大值(有符号/无符号) TINYINT 1 -128 / 0 127 / 255 SMALLINT 2 -32768 / 0 32767 / 65535 MEDIUMINT 3 -8388608 / 0 8388607 / 16777215 INT 4 -2147483648 / 0 BIGINT 8 -9223372036854775808 / 0 9223372036854775807 / 18446744073709551615 注意unsigned: 不允许负数 用于精确数值:整数、小数或两

    2024年02月13日
    浏览(47)
  • MySQL相关的SQL语句、数据库、数据表、字段、类型

    1、 SQL 语句不区分大小写。 SQL语句 用途 描述 mysql -u root -p 连接 MySQL 在命令行窗口中输入 mysql -u root -p 命令,回车,然后输入 MySQL 密码(不要忘记了密码,找回麻烦),再回车就连接上 MySQL 了。最初都是使用 root 用户登录,工作中不能一直使用 root 用户登录。因为 root 权限太

    2024年02月13日
    浏览(95)
  • MySQL中使用SQL语句创建表、表类型、表数据

    💚💚💚💚💚💚💚💚💚💚💚💚💚💚💚💚💚💚💚💚💚💚💚💚 目录 ###例题:在testb数据库中创建表所示结构的tb_1表 ###向tb_1表加入数据 ###总结表的类型(添加、删除、修改)和表的数据(添加、删除、修改) ##类型(添加、删除、修改)  ##表的数据(添加、删除

    2024年02月03日
    浏览(44)
  • 利用SQL语句创建、修改、删除、查看与使用数据库

    【技术路线图】 1、连接Mysql服务:mysql -u root -p 2、创建数据库:create database teacherdb; 注意:数据库的名字一旦创建后不可更改。 3、查看刚刚创建好的数据库:show databses; 4、删除数据库并查看是否删除掉:drop database teacherdb; 5、输出创建数据库时的SQL语句信息:show create dat

    2023年04月21日
    浏览(88)
  • 【StarRocks】数据结构和修改表语句大全

    1 数据类型 2 修改表结构 StarRocks 支持多种 DDL 操作。 可以通过 ALTER TABLE 命令可以修改表的 Schema,包括增加列,删除列,修改列类型(暂不支持修改列名称),改变列顺序。 1 增加列 例如,在以上创建的表中,在 ispass 列后新增一列 uv,类型为 BIGINT,默认值为 0。 2 删除列

    2024年02月15日
    浏览(69)
  • 【精通C语言】:分支结构if语句的灵活运用

    🎥 屿小夏 : 个人主页 🔥个人专栏 : C语言详解 🌄 莫道桑榆晚,为霞尚满天! C语言中的控制语句是程序设计中不可或缺的重要组成部分。从简单的if语句到复杂的多分支结构,掌握这些语句对于编写高效、灵活的程序至关重要。本文将深入探讨C语言中控制语句的各种形

    2024年01月23日
    浏览(34)
  • 【算法基础】java基础——基本结构、数据类型、表达式、语句

    Java程序的基本结构:         一段Java程序或者一个静态库,会用到下面7种语法         1、原始数据类型:在计算机程序中精确到定义整数、浮点数、布尔值等         2、语句:通过创建变量并对其赋值,它们能够被组合为类似数学公式定义的表达式         3、数组  

    2024年01月16日
    浏览(43)
  • lua变量、数据类型、if判断条件和数据结构table以及【lua 函数】

    Lua 变量有三种类型: 全局变量 和 局部变量 和 表中的域 。 ▪ 全局变量:默认情况下,Lua中所有的变量都是全局变量。 ▪ 局部变量:使用 local 显式声明在函数内的变量,以及函数的参数,都是局部变量。在函数外即使用 local 去声明,它的作用域也是当前的整个文件,这相

    2023年04月19日
    浏览(70)
  • MySQL数据库——MySQL修改存储过程(ALTER PROCEDURE)

    在实际开发过程中,业务需求修改的情况时有发生,所以修改 MySQL 中的存储过程是不可避免的。 MySQL 中通过 ALTER PROCEDURE 语句来修改存储过程。下面将详细讲解修改存储过程的方法。 MySQL 中修改存储过程的语法格式如下: ALTER PROCEDURE 存储过程名 [ 特征 ... ] 特征 指定了存储

    2024年02月04日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包