MySQL的ALTER TABLE命令

0    169    1

Tags:

👉 本文共约2945个字,系统预计阅读时间或需12分钟。

目录

    ALTER TABLE的作用

    ALTER TABLE命令用于添加、删除或者更改现有数据表中的列。

    还可以用 ALTER TABLE 命令来添加或者删除现有数据表上的约束。

    示例数据库表

    将"Customers"表用作示例

    img

    添加列语法

    使用 ALTER TABLE 在现有的数据表中添加新列的基本语法如下:

    ALTER TABLE table_name

    ADD COLUMN column_name datatype;

    给"Customers"表增加一列"年龄",可以这样写:

    ALTER TABLE Customers

    ADD COLUMN 年龄 INT;

    我们再查看Customers表就在末尾增加一列"年龄"

    img

    由于我们没有设定值,"年龄"列默认都是NULL值(空值)

    删除列语法

    使用 ALTER TABLE 在现有的数据表中删除列的基本语法如下:

    ALTER TABLE table_name

    DROP COLUMN column_name;

    我们再将上面"Customers"刚增加的"年龄"列给删除

    ALTER TABLE Customers

    DROP COLUMN 年龄;

    执行完后就将"年龄"列给删除了。

    img

    修改列类型语法

    使用 ALTER TABLE 更改现有的数据表中列的数据类型的基本语法如下:

    ALTER TABLE table_name

    MODIFY column_name datatype;

    我们将"Customers"表的"邮编"由CHAR类型改成INT类型

    ALTER TABLE customers

    MODIFY 邮编 INT;

    添加NOT NULL约束语法

    使用 ALTER TABLE 给某列添加 NOT NULL 约束 的基本语法如下:

    ALTER TABLE table_name

    MODIFY column_name datatype NOT NULL;

    我们可以将"Customers"表中的"省份"由NULL约束改成NOT NULL约束

    ALTER TABLE Customers

    MODIFY 省份 VARCHAR(20) NOT NULL;

    结果如下:

    img

    添加唯一约束语法

    使用 ALTER TABLE 给数据表添加 唯一约束 的基本语法如下:

    ALTER TABLE table_name

    ADD CONSTRAINT MyUniqueConstraint

    UNIQUE(column1, column2...);

    我们可以给"Customers"表中的"姓名"添加唯一约束

    ALTER TABLE Customers

    ADD CONSTRAINT idx_姓名

    UNIQUE(姓名);

    结果如下:

    img

    添加CHECK约束语法

    使用 ALTER TABLE 给数据表添加 CHECK 约束 的基本语法如下:

    ALTER TABLE table_name

    ADD CONSTRAINT MyUniqueConstraint

    CHECK (CONDITION);

    我们可以给"Customers"表中的"邮编"添加CHECK约束,长度必须等于6

    ALTER TABLE Customers

    ADD CONSTRAINT con_客户ID

    CHECK (length(邮编)=6);

    本人提供Oracle(OCP、OCM)、MySQL(OCP)、PostgreSQL(PGCA、PGCE、PGCM)等数据库的培训和考证业务,私聊QQ646634621或微信dbaup66,谢谢!
    AiDBA后续精彩内容已被站长无情隐藏,请输入验证码解锁本文!
    验证码:
    获取验证码: 请先关注本站微信公众号,然后回复“验证码”,获取验证码。在微信里搜索“AiDBA”或者“dbaup6”或者微信扫描右侧二维码都可以关注本站微信公众号。

    标签:

    Avatar photo

    小麦苗

    学习或考证,均可联系麦老师,请加微信db_bao或QQ646634621

    您可能还喜欢...

    发表回复