MySQL - 數據表的操作_列的類型定義_整數類型

1.1 列名:

1)採用26字母和0-9的自然數加上下互相 ‘’ 組成,命名簡潔明確,多個單詞用下劃線 ‘’ 隔開
2)全部小寫命名,儘量避免出現大寫
3)字段必須填寫描述信息
4)禁止使用數據庫關鍵字
5)字段名稱一般採用名詞或動賓短語
6)採用字段的名字必須是易於理解,一般不超過三個英文單詞
7)在命名錶的列時,不要重複表的名稱(如:在 user 表中,出現 user_name 字段)
8)字段命名使用完整名稱

1.2、列的類型定義

1.2.1 整形類型

整數類型是數據庫中最基本的數據類型。標準SQL中支持INTEGER和SMALLINT這兩種數據類型。MySQL數據庫除了支持這兩種類型以外,還擴展支持了TINYINT、MEDIUMINT和BIGINT。下表從不同整數類型的字節數、取值範圍等方面進行對比。
在這裏插入圖片描述

mysql> use school;   #選擇數據庫school 
mysql> create table class5(class_id int , class_name varchar(128), class_teacher varchar(64) );         #創建表class5 

整數類型的附帶屬性
(1)類型名稱後面的小括號 指定顯示寬度(並不是該類型佔用字節數)。如果不顯示指定寬度則默認爲tinyint(3)、 smallint(5)、 mediumint(8)、 int(11) 和 bigint(20)。一般配合 zerofill 使用,顧名思義,zerofill 就是用“0”填充的意思,也就是在數字位數不夠的空間用字符“0”填滿。

mysql> use school;   #選擇數據庫school 
mysql> create table class6(class_id integer(5) zerofill, class_name varchar(128), class_teacher varchar(64) );         #創建表class6 

UNSIGNED(無符號) 如果需要在字段裏面保存非負數或者需要較大的上限值時,可以用此選項,它的取值範圍是正常值的下限取 0,上限取原值的 2 倍,例如,tinyint 有符號範圍是-128~+127,而無符號範圍是 0~255。如果一個列指定爲 zerofill,則 MySQL 自動爲該列添加 UNSIGNED 屬性。

mysql> use school;   #選擇數據庫school 
mysql> create table class6(id integer unsigned , name varchar(128), teacher varchar(64) );         #創建表class6 
mysql> create table class7(id integer zerofill , name varchar(128), teacher varchar(64) );         #創建表class7, id類型爲 int unsigned

整數類型的附帶屬性
(1)類型名稱後面的小括號 指定顯示寬度(並不是該類型佔用字節數)。如果不顯示指定寬度則默認爲tinyint(3)、 smallint(5)、 mediumint(8)、 int(11) 和 bigint(20)。一般配合 zerofill 使用,顧名思義,zerofill 就是用“0”填充的意思,也就是在數字位數不夠的空間用字符“0”填滿。

mysql> use school;   #選擇數據庫school 
mysql> create table class6(class_id integer(5) zerofill, class_name varchar(128), class_teacher varchar(64) );         #創建表class6 

(2)UNSIGNED(無符號) 如果需要在字段裏面保存非負數或者需要較大的上限值時,可以用此選項,它的取值範圍是正常值的下限取 0,上限取原值的 2 倍,例如,tinyint 有符號範圍是-128~+127,而無符號範圍是 0~255。如果一個列指定爲 zerofill,則 MySQL 自動爲該列添加 UNSIGNED 屬性。

mysql> use school;   #選擇數據庫school 
mysql> create table class6(id integer unsigned , name varchar(128), teacher varchar(64) );         #創建表class6 
mysql> create table class7(id integer zerofill , name varchar(128), teacher varchar(64) );         #創建表class7, id類型爲 int unsigned

(3)AUTO_INCREMENT 在需要產生唯一標識符或順序值時,可利用此屬性,這個屬性只用於整數類型。AUTO_INCREMENT 值一般從 1 開始,每行增加 1。 一個表中最多隻能有一個 AUTO_INCREMENT列 。對於任何想要使用 AUTO_INCREMENT 的列,應該定義爲 NOT NULL,並定義爲 PRIMARY KEY 或定義爲 UNIQUE 鍵。 例如,可按下列任何一種方式定義 AUTO_INCREMENT 列:

mysql> use school;   #選擇數據庫school 
mysql> create table class8(id integer auto_increment PRIMARY KEY , name varchar(128), teacher varchar(64) );         #創建表class8, id 具有自增長屬性
mysql> create table class9(id integer auto_increment UNIQUE , name varchar(128), teacher varchar(64) );         #創建表class9, id 具有自增長屬性

結語:

時間:2020-07-05

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