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) | 4 | 單精度浮點數 |
geometry | 存儲空間點數據 | |
geometrycollection | geometry集合類 | |
int | 4 | 無符號[0,2^32-1],有符號[-2^31,2^31-1] |
integer | 4 | 無符號[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 | 2 | 無符號[0,65535],有符號[-32768,32767] |
text | Max:64K | 大小寫不敏感 |
time | 3 | 以HH:MM:SS的格式顯示。好比:11:22:30 |
timestamp | 4 | 以YYYY-MM-DD的格式顯示,好比:2009-07-19 |
tinyblob | Max:255 | 大小寫敏感 |
tinyint | 1 | 整數[0,255] |
tinytext | Max:255 | 大小寫不敏感 |
varbinary(M) | M | 相似varchar的變長二進制存儲 |
varchar(M) | M | 變長字符串,MySQL要求一個行定義長度不能超過65535個字節,不包括text、blob等大字段類型,varchar長度受此長度限制,和其餘非大字段加起來不能超過65535個字節。字符類型若爲gbk,每一個字符佔用2個字節,字符類型若爲utf8,每一個字符最多佔用3個字節。 |
year | 1 | 以YYYY的格式顯示。好比:2009 |
2、外鍵刪除更新規則對象
CASCADE:父表delete、update的時候,子表會delete、update關聯記錄排序
SET NULL:父表delete、update的時候,子表會將關聯記錄的外鍵字段所在列設爲null,因此注意在設計子表時外鍵不能設爲not nullip
RESTRICT:若是想要刪除父表的記錄時,而在子表中有關聯該父表的記錄,則不容許刪除父表中的記錄ci
NO ACTION:標準SQL的關鍵字,在MySQL中與RESTRICT相同字符串