數值類型:整型、浮點型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