mysql知識彙總

1、數據類型介紹json

數據類型 字節長度 範圍或用法
bigint 8 無符號[0,2^64-1],有符號[-2^63 ,2^63 -1]
binary(M) M 相似Char的二進制存儲,只包含byte串而非字符串,它們沒有字符集的概念,排序和比較操做都是基於字節的數字值
bit 1 無符號[0,255],有符號[-128,127]
blob Max:64K 二進制的對象,大小寫敏感
char(M)  M 定長字符串
date 3 以YYYY-MM-DD的格式顯示,好比:2009-07-19
datetime 8 以YYYY-MM-DD HH:MM:SS的格式顯示,好比:2009-07-19 11:22:30
decimal(M,D) M+1或M+2 存儲精確的數值
double(M,D) 8 雙精度浮點
enum 1或2  最大可達65535個不一樣的枚舉值,單選字符串數據類型,適合存儲表單界面中的「單選值」
float(M,D) 單精度浮點數
geometry   存儲空間點數據
geometrycollection   geometry集合類
int 4 無符號[0,2^32-1],有符號[-2^31,2^31-1] 
integer 無符號[0,2^32-1],有符號[-2^31,2^31-1] 
json   json格式數據
linestring   點之間的線性插值曲線
longblob Max:4G  大小寫敏感 
longtext Max:4G 大小寫不敏感
mediumblob Max:16M 大小寫敏感
mediumint 3 無符號[0,2^24-1],有符號[-2^23,2^23-1]
mediumtext Max:16M 大小寫不敏感
multilinestring   點之間的線性插值曲線的集合 
multipoint   點的集合 
multipolygon   多邊形的集合 
numeric(M,D) M+1或M+2 精確存儲數值,同decimal
point   二維空間中的點 
polygon   多邊形 
real(M,D)   浮點數,REAL就是DOUBLE ,若是SQL服務器模式包括REAL_AS_FLOAT選項,REAL是FLOAT的同義詞而不是DOUBLE的同義詞 
set  

多選字符串數據類型,適合存儲表單界面的「多選值」服務器

insert into enum_set_table(id,gender,hobby) values(null,'F','music,movie,footbal'); 設計

smallint 無符號[0,65535],有符號[-32768,32767] 
text Max:64K  大小寫不敏感 
time 以HH:MM:SS的格式顯示。好比:11:22:30 
timestamp 以YYYY-MM-DD的格式顯示,好比:2009-07-19 
tinyblob Max:255  大小寫敏感 
tinyint 整數[0,255] 
tinytext Max:255  大小寫不敏感 
varbinary(M) 相似varchar的變長二進制存儲 
varchar(M) 變長字符串,MySQL要求一個行定義長度不能超過65535個字節,不包括text、blob等大字段類型,varchar長度受此長度限制,和其餘非大字段加起來不能超過65535個字節。字符類型若爲gbk,每一個字符佔用2個字節,字符類型若爲utf8,每一個字符最多佔用3個字節。
year 以YYYY的格式顯示。好比:2009 

2、外鍵刪除更新規則對象

CASCADE:父表delete、update的時候,子表會delete、update關聯記錄排序

SET NULL:父表delete、update的時候,子表會將關聯記錄的外鍵字段所在列設爲null,因此注意在設計子表時外鍵不能設爲not nullip

RESTRICT:若是想要刪除父表的記錄時,而在子表中有關聯該父表的記錄,則不容許刪除父表中的記錄ci

NO ACTION:標準SQL的關鍵字,在MySQL中與RESTRICT相同字符串

相關文章
相關標籤/搜索