MySQL - 數據表的操作_列的類型定義_字符串類型_TEXT類型

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章