MySQL中的整数类型
文章目錄
- 1 MySQL中的整數(shù)類型
- 1.1 整數(shù)類型簡(jiǎn)介
- 1.2 整數(shù)類型的附帶屬性
1 MySQL中的整數(shù)類型
1.1 整數(shù)類型簡(jiǎn)介
整數(shù)類型是數(shù)據(jù)庫中最基本的數(shù)據(jù)類型。標(biāo)準(zhǔn)SQL中支持INTEGER和SMALLINT這兩種數(shù)據(jù)類型。MySQL數(shù)據(jù)庫除了支持這兩種類型以外,還擴(kuò)展支持了TINYINT、MEDIUMINT和BIGINT。下表從不同整數(shù)類型的字節(jié)數(shù)、取值范圍等方面進(jìn)行對(duì)比。
use school; #選擇數(shù)據(jù)庫school create table class5(class_id int , class_name varchar(128), class_teacher varchar(64) ); #創(chuàng)建表class51.2 整數(shù)類型的附帶屬性
(1) 類型名稱后面的小括號(hào) 指定顯示寬度(并不是該類型占用字節(jié)數(shù))。如果不顯示指定寬度則默認(rèn)為tinyint(3)、 smallint(5)、 mediumint(8)、 int(11) 和 bigint(20)。一般配合 zerofill 使用,顧名思義,zerofill 就是用“0”填充的意思,也就是在數(shù)字位數(shù)不夠的空間用字符“0”填滿,如果有效位數(shù)超過了指定的顯示寬度則不進(jìn)行任何填充。
use school; #選擇數(shù)據(jù)庫school create table class6(class_id integer(5) zerofill, class_name varchar(128), class_teacher varchar(64) ); #創(chuàng)建表class6(2)UNSIGNED(無符號(hào)) 如果需要在字段里面保存非負(fù)數(shù)或者需要較大的上限值時(shí),可以用此選項(xiàng),它的取值范圍是正常值的下限取 0,上限取原值的 2 倍,例如,tinyint 有符號(hào)范圍是-128~+127,而無符號(hào)范圍是 0~255。如果一個(gè)列指定為 zerofill,則 MySQL 自動(dòng)為該列添加 UNSIGNED 屬性。
use school; #選擇數(shù)據(jù)庫school create table class6(id integer unsigned , name varchar(128), teacher varchar(64) ); #創(chuàng)建表class6 create table class7(id integer zerofill , name varchar(128), teacher varchar(64) ); #創(chuàng)建表class7, id類型為 int unsigned(3)AUTO_INCREMENT 在需要產(chǎn)生唯一標(biāo)識(shí)符或順序值時(shí),可利用此屬性,這個(gè)屬性只用于整數(shù)類型。AUTO_INCREMENT 值一般從 1 開始,每行增加 1。 一個(gè)表中最多只能有一個(gè) AUTO_INCREMENT列 。對(duì)于任何想要使用 AUTO_INCREMENT 的列,應(yīng)該定義為 NOT NULL(會(huì)自動(dòng)變?yōu)镹OT NULL),并定義為 PRIMARY KEY 或定義為 UNIQUE 鍵。 例如,可按下列任何一種方式定義 AUTO_INCREMENT 列:
use school; #選擇數(shù)據(jù)庫school create table class8(id integer auto_increment PRIMARY KEY , name varchar(128), teacher varchar(64) ); #創(chuàng)建表class8, id 具有自增長(zhǎng)屬性 create table class9(id integer auto_increment UNIQUE , name varchar(128), teacher varchar(64) ); #創(chuàng)建表class9, id 具有自增長(zhǎng)屬性參考資料:
總結(jié)
以上是生活随笔為你收集整理的MySQL中的整数类型的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MySQL中表的操作
- 下一篇: linux cmake编译源码,linu