数值类型:整型、浮点型spa
字符串:rem
char(定长):插入数据或查询数据都很快,由于char在磁盘上插入数据的时候的存储空间是固定的,简单粗暴,直接就是定长空间,那么就不须要考虑数据的长度,因此咱们在进行数据查询的时候,速度也快,由于在读取数据的时候也不须要考虑数据长度,简单粗暴的按照定长的空间来取数据,也致使如下空间的浪费。字符串
varchar(不定长):插入和查询速度都相对较慢,由于它在内容存储数据的时候,是按照数据的长度来进行存储的,那么每次存储数据都须要计算一下数据的长度,按照长度来开辟存储空间,那么在数据的存储空间前面还要开辟1-2个字节空间长度来存储数据的长度,也就是说格式大概是长度+内容,也致使了在咱们读取数据的时候,首先要先读取数据的长度,而后根据长度再读取后面的内容,致使速度较慢,可是多数状况下能够节省存储空间io
日期类型:table
year、date、time、datetime、timestampdate
枚举类型(enumeration(‘1’,‘2’),单选)im
集合类型:set('1','2','3') 多选数据
完整性约束:datetime
not null:不为空查询
default:
unique:惟一,不容许重复
primary key:主键,惟一非空 not null + unique
必须有一个主键字段,且只能有一个
1.自动查看你全部的字段里面是否有not null + unique,若是有默认就将这个字段设置为主键字段
2.自动给你设置一个看不到的字段做为主键
atuo_increment:自增,通常加在主键后面,从1开始每次+1,能够设置步长,能够设置起始值
foreign key:外键,创建表之间关系用的
一对多:
T1 一对多 t2
T1里面的一条数据,能够对应t2表里面的多条数据
T2表里面加一个字段,t1_id
create table t2(
id int primary key auto_increment,
name char(10) not null,
sex enum('男','女') default '男' not null,
id_card char(18) not null unique
t1_id int not null,
constraint fk_t2_t1 foreign key(t1_id) refernces t1(id)
一对一:
create table t2(
id int primary key auto_increment,
name char(10) not null,
sex enum('男','女') default '男' not null,
id_card char(18) not null unique
t1_id int not null unique,
constraint fk_t2_t1 foreign key(t1_id) refernces t1(id)
多对多:
创建第三张表
t3
t3 id t1_id t2_id