SQL 的数据定义语言 DDL 部分使我们有能力创建或删除表格。
我们也可以定义索引(键),规定表之间的链接,以及施加表间的约束。
| 操作 | 作用 |
|---|---|
CREATE DATABASE | 创建新数据库 |
ALTER DATABASE | 修改数据库 |
CREATE TABLE | 创建新表 |
ALTER TABLE | 变更(改变)数据库表 |
DROP TABLE | 删除表 |
CREATE INDEX | 创建索引(搜索键) |
DROP INDEX | 删除索引 |
常用实例
| 实例 | 语法 |
|---|---|
CREATE DATABASE database_name | 创建数据库 |
创建表
CREATE TABLE 表名称
(
列名称1 数据类型,
列名称2 数据类型,
列名称3 数据类型,
....
)
例:
create table person
(
name char(20),
age int(3)
)
SQL 约束
约束用于限制加入表的数据的类型。
可以在创建表时规定约束(通过
CREATE TABLE语句),或者在表创建之后也可以(通过ALTER TABLE语句)。
常见几种约束
| 约束 | 作用 |
|---|---|
NOT NULL | NOT NULL 约束强制 列 不接受 NULL 值。 |
UNIQUE | UNIQUE 约束唯一标识数据库表中的每条记录 |
PRIMARY KEY | PRIMARY KEY 约束唯一标识数据库表中的每条记录。 |
FOREIGN KEY | 一个表中的 FOREIGN KEY 指向另一个表中的 PRIMARY KEY |
CHECK | CHECK 约束用于限制列中的值的范围 |
DEFAULT | DEFAULT 约束用于向列中插入默认值,如果没有规定其他的值,那么会将默认值添加到所有的新记录 |
AUTO INCREMENT | 随 列数自动增长 ,AUTO_INCREMENT 的开始值是 1,每条新记录递增 1。 |
附:
UNIQUE 和 PRIMARY KEY区别
UNIQUE 和 PRIMARY KEY约束均为列或列集合提供了唯一性的保证。
PRIMARY KEY 拥有自动定义的 UNIQUE 约束。
请注意,每个表可以有多个 UNIQUE 约束,但是每个表只能有一个 PRIMARY KEY 约束
FOREIGN KEY在不同DBMS中有不同的语法
以下例子为MySQL FOREIGN KEY的设置
create table person
(
id int(8) NOT NULL,
name char(20) UNIQUE,
other_name char(20),
PRIMARY KEY(id),
FOREIGN KEY(other_name) REFERENCES 另一张表名(other_name)
)
FOREIGN KEY 约束用于预防破坏表之间连接的动作。
FOREIGN KEY 约束也能防止非法数据插入外键列,因为它必须是它指向的那个表中的值之一。
CHECK 约束用于限制列中的值的范围。
如果对单个列定义 CHECK 约束,那么该列只允许特定的值。
如果对一个表定义 CHECK 约束,那么此约束会在特定的列中对值进行限制。

这篇博客介绍了SQL中的数据定义语言,重点讲解如何使用DDL创建和删除表格,并详细阐述了SQL约束的种类和用途,包括唯一性约束、主键约束、外键约束和检查约束,以及在不同数据库管理系统中的语法差异。
743

被折叠的 条评论
为什么被折叠?



