MySQL8.0.12
Navicat
到目前为止, 所讨论的例子只与数据操作有关。SQL 还用于创建、删除和更改表。
数据操纵语言 (DML) 使用 '选择'、'插入'、'更新' 和 '删除' 关键字来操作数据。数据定义语言 (DDL) 用于创建和操作表结构。
表是使用 'create table' 语句创建的。该语句包含列的列表和每个列的数据类型:CREATE TABLE meeting_rooms(meeting_room_id INT,office_location_id INT,meeting_room_name VARCHAR(100));
这将创建一个包含三列的表, 其中两列是 INT 类型的, 另一列是 VARCHAR(100), 一个字符串最多包含100个字符。请注意, 不同数据库之间的有效数据类型可能会有所不同。您需要检查数据库供应商提供的最新文档, 以了解允许的类型。
虽然有一个名为 office _location _ id 的列, 但没有引用 office _ locations表;此列中允许的数据没有参照完整性。
正如您所期望的那样, DDL 能够完成的不仅仅是创建表。它也可以更改表定义, 例如添加列:ALTER TABLE meeting_rooms ADD COLUMN telephone_extension VARCHAR(100);
若要删除或删除列, 请按以下步骤运行该语句:ALTER TABLE meeting_rooms DROP COLUMN telephone_extension;
还可以就地修改列的定义。例如, 可以向表中添加外键约束:ALTER TABLE meeting_roomsADD FOREIGN KEY (office_location_id)REFERENCES office_locations (office_location_id);
添加此约束后, meeting_rooms表的列中只允许使用有效的 office _ location_ id。如果列中已有不满足约束的数据, 则该语句将被拒绝。
您也可以添加任意约束, 例如将列定义为不允许 NULL 值, 或者只允许特定范围的整数值。