1.数据类型
a. 字符串
char
varchar
text
longtext
面试题 char和varchar的区别
1. 存储大小不一样 varchar 可存储65535个字符 char 可存储255个字符
2.存储速度不同 char的存储速度快,varchar相比要慢一些
b. 数字
A. 整数
tinyint
smallint
int
B.小数
float
double
decimal
c. 时间
date 年月日
datetime 年月日时分秒
timestamp 年月日时分秒 当有数据发生改变时,时间会自动更新
2.约束
约束其实就是一种限制条件
1. 空约束
NULL 允许字段插入空值
2. 非空约束
NOT NULL 不允许字段插入空值
3. 默认值约束
DEFAULT 给字段设置默认值,在字段不插入值的情况下将默认值填入
4. 主键约束
PRIMARY KEY 标识唯一列,主键字段的值不会有重复值出现,一张表中只能出现一个主键字段
5. 唯一约束
unique 不会有重复值出现,一张表中可以又多个
6. 外键约束
FOREIGN KEY 用于从表中的某一个字段
1. 涉及两张表之间的关联,拥有外键字段的表叫做 从表,外键字段的值的来源那张表叫做主表
2. 主表中的字段必须是主键
3. 主表和从表的存储引擎必须是innodb
4. 一张表中可以设置多个外键字段
a. 外键添加(重要)
语法: Alter TABLE 表名称 ADD CONSTRAINT 外键名称 FOREIGN KEY (外键字段) REFERENCES
主表名称(主键字段) [ON UPDATE 级联操作设置] [ON DELETE 级联操作设置]
b. 删除外键
语法:Alter TABLE 表名称 DROP 外键名称
c. 外键的级联操作
casecade 级联
no action 不做任何操作,不允许级联操作
set null 设置为空