MySQL學習之建表規範

2021-09-30 16:40:24 字數 928 閱讀 3556

資料型別盡量用數字型別,數字型別的比字元型別的要快很多,比如使用int unsigned儲存ip

大資料字段最好剝離出單獨的表,以便影響效能

使用varchar,代替char,這是因為varchar會動態分配長度資料型別盡量小,這裡的盡量小是指在滿足可以預見的未來需求的前提下的,但是有不能太小,所以在建表的時候一定要預估這個字段最大的長度到底是多少

不允許null,用not null+default 的值來代替

少用text和image,二進位製字段的讀寫是比較慢的,而且,讀取的方法也不多,大部分情況下最好不用

表名字段名字統一用小寫

欄位名字不要用駝峰命名法比如update_time 不要寫成updatetime

字段命名關鍵字統一用下劃線"_"分割,一般採用簡寫,關鍵字要準確,不能有歧義所有的表必須包含id(自增主鍵)

每個欄位的comment必須寫清楚,列舉型別必須寫清楚每個值到底是什麼意思,列舉的寫法統一成「刪除標記(0:未刪除,1:已經刪除)」,符號為中文符號

update_time(更新時間)字段自動修改。update_timetimestamp not null default current_timestamp on update current_timestamp comment '更新時間 』

時間型別盡量用 timestamp 4個位元組,而不用datetime 8個位元組。只用表示日期的字段用date型別

建表語句不允許包含外來鍵庫、表、字段字符集統一使用utf8

請參考

mysql建表規範

create table dbname bodyguard black box id int 11 not null auto increment,login id varchar 64 default null comment 使用者登入賬號,手機號 bize code varchar 64 de...

Mysql 建表及查詢規範

int 如無特殊需要,存放整型數字使用unsigned int型。整型欄位後的數字代表顯示長度。整型型別如下表 資料型別 最大儲存長度 有符號 最大儲存長度 無符號 tinyint m 1個位元組 範圍 128 127 1個位元組 範圍 0 256 smallint m 2個位元組 範圍 32768...

Mysql建表和索引使用規範

mysql建表和索引使用規範 tt lan2003 一 mysql建表,欄位需設定為非空,需設定字段預設值。二 mysql建表,欄位需null時,需設定字段預設值,預設值不為null。三 mysql建表,如果字段等價於外來鍵,應在該字段加索引。四 mysql建表,不同表之間的相同屬性值的字段,列型別...