常用的功能是:增、删、改,分别对应的命令是CREATE、DROP 和 ALTER。需要注意的是,在执行 DDL的时候,不需要 COMMIT,就可以完成执行任务。
对数据库进行定义
CREATE DATABASE nba; // 创建一个名为 nba 的数据库
DROP DATABASE nba; // 删除一个名为 nba 的数据库
对数据表进行定义
CREATE TABLE table_name
创建表结构
CREATE TABLE player (
player_id int(11) NOT NULL AUTO_INCREMENT,
player_name varchar(255) NOT NULL
);
常用字符集:
- utf8
常用排序规则:
- utf8_general_ci,代表对大小写不敏感,如果设置为
- utf8_bin,代表对大小写敏感
修改表结构
- 添加字段,比如我在数据表中添加一个 age 字段,类型
为int(11)
ALTER TABLE player ADD (age int(11));
- 修改字段名,将 age 字段改成player_age
ALTER TABLE player RENAME COLUMN age to player_age
- 修改字段的数据类型,将player_age的数据类型设置为float(3,1)
ALTER TABLE player MODIFY (player_age float(3,1));
- 删除字段, 删除刚才添加的player_age字段
ALTER TABLE player DROP COLUMN player_age;
数据表的常见约束
主键约束
主键起的作用是唯一标识一条记录,不能重复,不能为空,即 UNIQUE+NOT NULL。一个数据表的主键只能有一个。主键可以是一个字段,也可以由多个字段复合组成。
外键约束
外键确保了表与表之间引用的完整性。一个表中的外键对应另一张表的主键。外键可以是重复的,也可以为空。
唯一性约束
唯一性约束表明了字段在表中的数值是唯一的,即使我们已经有了主键,还可以对其他字段进行唯一性约束。
NOT NULL
对字段定义了 NOT NULL,即表明该字段不应为空,必须有取值。
DEFAULT
表明了字段的默认值。如果在插入数据的时候,这个字段没有取值,就设置为默认值。比如我们将身高height 字段的取值默认设置为 0.00,即DEFAULT 0.00。
CHECK
用来检查特定字段取值范围的有效性,CHECK 约束的结果不能为 FALSE,比如我们可以对身高height 的数值进行 CHECK 约束,必须≥0,且<3,即CHECK(height>=0 AND height<3)。
设计数据表的原则
- 数据表的个数越少越好
- 数据表中的字段个数越少越好
- 数据表中联合主键的字段个数越少越好