1.1 列名:
1)採用26字母和0-9的自然數加上下互相 ‘’ 組成,命名簡潔明確,多個單詞用下劃線 ‘’ 隔開
2)全部小寫命名,儘量避免出現大寫
3)字段必須填寫描述信息
4)禁止使用數據庫關鍵字
5)字段名稱一般採用名詞或動賓短語
6)採用字段的名字必須是易於理解,一般不超過三個英文單詞
7)在命名錶的列時,不要重複表的名稱(如:在 user 表中,出現 user_name 字段)
8)字段命名使用完整名稱
1.2、列的類型定義
1.2.1 字符串類型_TEXT類型
TEXT類型
TEXT類型是一種特殊的字符串類型,包括TINYTEXT、TEXT、MEDIUMTEXT和LONGTEXT,其長度和存儲空間的對比下表所示:
各種TEXT類型的區別在於允許的長度和存儲空間不同。因此,在這幾種TEXT類型中,根據需求選取既能滿足需要又節省空間的類型即可。
特別注意
:
1、以上各類型無須指定長度!
2、允許的長度是指實際存儲的字節數,而不是實際的字符個數,比如假設一箇中文字符佔兩個字節,那麼TEXT 類型可存儲 65535/2 = 32767 箇中文字符,而varchar(100)可存儲100箇中文字符,實際佔200個字節,但varchar(65535) 並不能存儲65535箇中文字符,因爲已超出表達範圍.
mysql> use test; #選擇數據庫test
mysql> create table text_example(e_text tinytext, v_char varchar(255)); #創建數據庫表,e_text 可存儲255個字節,v_char可存儲255個字符
mysql> insert into char_example values(90箇中文字符,90箇中文字符); #插入失敗,utfmb4 用3個字節表示一箇中文漢字,會超出tinytext 保存範圍
mysql> insert into char_example values(80箇中文字符,100箇中文字符); #插入成功
實戰建議
1、 char長度固定, 即每條數據佔用等長字節空間;適合用在身份證號碼、手機號碼等定。超過255字 節的只能用varchar或者text;
2、 varchar可變長度,可以設置最大長度;適合用在長度可變的屬性。
3、 text不設置長度, 當不知道屬性的最大長度時,適合用text, 能用varchar的地方不用text;
4、 如果都可以選擇,按照查詢速度: char最快, varchar次之,text最慢。
實戰練習
創建一個用戶信息表,用來存儲用戶的如下信息:姓名,手機號碼,家庭地址,個人簡介,性別,年齡,身份證號。數據庫表名可定義爲userinfo, 同時增加一個列id 用來作爲每一條記錄的唯一標識,並設爲主鍵,自加!
mysql> use test; #選擇數據庫test
mysql> create table userinfo (
id int(11) unsigned NOT NULL PRIMARY KEY AUTO_INCREMENT COMMENT ‘主鍵’,
name varchar(64) DEFAULT NULL COMMENT ‘姓名’,
mobile char(11) DEFAULT NULL COMMENT ‘手機號碼’,
address varchar(128) DEFAULT NULL COMMENT ‘居住地址’,
description text DEFAULT NULL COMMENT ‘個人簡介-不知道具體的範圍,不常更新用text’,
sex char(1) DEFAULT NULL COMMENT ‘性別 - 男或女’,
age tinyint unsigned DEFAULT 0 COMMENT ‘年齡’,
idno char(18) DEFAULT NULL COMENT ‘身份證號碼’
);
結語:
時間:2020-07-05