创建示例表
字段说明:
- id 主键自增,无符号位,使用TINYINT(范围0-255)
- cat_name varchar类型,不为空
- cat_num 小猫编号,唯一约束,例如:CAT-CN-0001
- birthday 小猫生日,date日期类型,yyyy-MM-dd
- gender 小猫性别,枚举类型,默认male
- price 价格浮点型,无符号位。共6位,小数点前4位,小数点后2位,默认18.68;
- 引擎默认使用INNODB;
CREATE TABLE cat (
id TINYINT UNSIGNED PRIMARY KEY AUTO_INCREMENT COMMENT '自增主键,无符号位',
cat_name VARCHAR (16) NOT NULL COMMENT '猫的名字,不为空',
cat_num VARCHAR (10) NOT NULL UNIQUE KEY COMMENT '小猫编号,唯一 UNIQUE KEY',
birthday DATE COMMENT '小猫出生日期 date类型',
gender ENUM ('male', 'female', 'secret') DEFAULT 'male' COMMENT '性别,枚举类型,默认为male',
price FLOAT (6, 2) UNSIGNED DEFAULT 18.68 COMMENT '浮点型,保留两位,无符号位,默认18.68'
) ENGINE INNODB COMMENT 'test';
约束
1.约束保证数据的完整性和一致性;
2.约束分为表级约束和列级约束;
3.约束类型包括:
NOT NULL 非空约束
PRIMARY KEY 主键约束
UNIQUE KEY 唯一约束
DEFAULT 默认约束
FOREIGN KEY 外键约束
1. 主键约束 PRIMARY KEY
每张表只能存在一个或零个主键
主键保证记录的唯一性
主键自动为NOT NULL
*注:AUTO_INCREMENT必须和PRIMARY KEY一起用,但是PRIMARY KEY不一定和AUTO_INCREMENT一起用*
2.唯一约束 UNIQUE KEY
唯一约束可以保证记录的唯一性
唯一约束的字段可以为NULL(可以有多个null值)
每张表可以存在多个约束
3.默认约束 DEFAULT KEY
当插入记录时,如果没有明确为字段赋值,则自动赋予默认值
4.外键约束 FOREIGN KEY
保证数据一致性、完整性
实现一对多或一对多关系