国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術(shù)文章
文章詳情頁

MySQL數(shù)據(jù)類型全解析

瀏覽:4日期:2023-10-06 17:53:29

數(shù)據(jù)類型:定義列中可以存儲(chǔ)什么數(shù)據(jù)以及該數(shù)據(jù)實(shí)際怎樣存儲(chǔ)的基本規(guī)則。

數(shù)據(jù)類型用于以下目的:

1、允許限制可存儲(chǔ)在列中的數(shù)據(jù)。如:數(shù)值數(shù)據(jù)類型列只能接受數(shù)值。

2、允許在內(nèi)部更有效地存儲(chǔ)數(shù)據(jù)。如:用比文本串更簡(jiǎn)潔的格式存儲(chǔ)數(shù)值和日期時(shí)間值。

3、允許變換排序順序。如:數(shù)據(jù)都作為串處理,則1位于10前,10位于2前(串以字典順序排序,從左邊開始比較,一次一個(gè)字符);作為數(shù)值數(shù)據(jù)類型,數(shù)值才能正確排序。

一、串?dāng)?shù)據(jù)類型

最常用的數(shù)據(jù)類型,存儲(chǔ)串,如名字、地址、電話號(hào)碼等。

兩種基本的串類型:定長串和變長串。

定長串:接受長度固定的字符串,其長度是在創(chuàng)建表時(shí)指定的。定長列不允許多于指定的字符數(shù)目,它們分配的存儲(chǔ)空間與指定的一樣多。如:CHAR。

變長串:存儲(chǔ)可變長度的文本。有些變長數(shù)據(jù)類型具有最大的定長,有些則是完全變長的,不管是哪種,只有指定的數(shù)據(jù)會(huì)得到保存(額外的數(shù)據(jù)不保存),如:TEXT。

PS:MySQL處理定長列遠(yuǎn)比處理變長列快得多。且MySQL不允許對(duì)變長列(或一個(gè)列的可變部分)進(jìn)行索引。

數(shù)據(jù)類型說明:

CHAR:1~255個(gè)字符的定長串。長度必須在創(chuàng)建時(shí)指定,否則MySQL假定為CHAR(1)。

ENUM:接受最多64K個(gè)串組成的一個(gè)預(yù)定義集合的某個(gè)串。

LONGTEXT:與TEXT相同,但最大長度為4GB。

MEDIUMTEXT:與TEXT相同,但最大長度為16 K。

SET:接受最多64個(gè)串組成的一個(gè)預(yù)定義集合的零個(gè)或多個(gè)串。

TEXT:最大長度為64 K的變長文本。

TINYTEXT:與TEXT相同,但最大長度為255字節(jié)。

VARCHAR:長度可變,最多不超過255字節(jié)。如創(chuàng)建時(shí)指定為VARCHAR(n),則可存儲(chǔ)0到n個(gè)字符的變長串(其中n≤255)。

PS:

1、引號(hào):使用何種形式的串?dāng)?shù)據(jù)類型,串值都必須括在引號(hào)內(nèi)(通常使用單引號(hào))。

2、須遵守的基本規(guī)則:如果數(shù)值是計(jì)算(求和、平均等)中使用的數(shù)值,則存儲(chǔ)在數(shù)值數(shù)據(jù)類型列中。如果數(shù)值作為字符串使用,則保存在串?dāng)?shù)據(jù)類型列中。如:在數(shù)值字段中存儲(chǔ)郵政編碼01234,保存的是數(shù)值1234,丟失了一位數(shù)字。

二、數(shù)值數(shù)據(jù)類型

存儲(chǔ)數(shù)值。MySQL支持多種數(shù)值數(shù)據(jù)類型,每種存儲(chǔ)的數(shù)值具有不同的取值范圍。

支持的取值范圍越大,所需存儲(chǔ)空間越多。此外,有的數(shù)值數(shù)據(jù)類型支持使用十進(jìn)制小數(shù)點(diǎn)(和小數(shù)),而有的則只支持整數(shù)。表D-2列出了常用的MySQL數(shù)值數(shù)據(jù)類型。

PS:

1、所有數(shù)值數(shù)據(jù)類型(除BIT和BOOLEAN外)都可以有符號(hào)或無符號(hào)。有符號(hào)數(shù)值列可以存儲(chǔ)正或負(fù)的數(shù)值,無符號(hào)數(shù)值列只能存儲(chǔ)正數(shù)。

2、默認(rèn)情況為有符號(hào),若不需要存儲(chǔ)負(fù)值,可以使用UNSIGNED,這樣做將允許你存儲(chǔ)兩倍大小的值。

3、與串不同,數(shù)值不應(yīng)該在引號(hào)內(nèi)。

4、MySQL中沒有專門存儲(chǔ)貨幣的數(shù)據(jù)類型,一般情況下使用DECIMAL(8, 2)。

數(shù)據(jù)類型說明:

BIT:位字段,1~64位。在MySQL 5之前,BIT在功能上等價(jià)于TINYINT。

BIGINT:整數(shù)值,支持-9223372036854775808~9223372036854775807。如果是UNSIGNED,為0~18446744073709551615的數(shù)。

BOOLEAN(或BOOL):布爾標(biāo)志,為0或者為1,主要用于開/關(guān)(on/off)標(biāo)志。

DECIMAL(或DEC):精度可變的浮點(diǎn)值。

DOUBLE:雙精度浮點(diǎn)值

FLOAT:?jiǎn)尉雀↑c(diǎn)值

INT(或INTEGER):整數(shù)值,支持-2147483648~2147483647,UNSIGNED同上。

MEDIUMINT:整數(shù)值,支持-8388608~8388607,UNSIGNED同上。

REAL:4字節(jié)的浮點(diǎn)值。

SMALLINT:整數(shù)值,支持-32768~32767,UNSIGNED同上。

TINYINT:整數(shù)值,支持-128~127,UNSIGNED同上。

三、日期和時(shí)間數(shù)據(jù)類型數(shù)據(jù)類型說明:

DATE:表示1000-01-01~9999-12-31的日期,格式為YYYY-MM-DD。

DATETIME:DATE和TIME的組合。

TIMESTAMP:功能和DATETIME相同,但范圍較小。

TIME:格式為HH:MM:SS。

YEAR:2位數(shù)字表示,范圍是70~69(1970~2069);4位數(shù)字表示,范圍是1901~2155

四、二進(jìn)制數(shù)據(jù)類型

可存儲(chǔ)任何數(shù)據(jù)(甚至包括二進(jìn)制信息),如圖像、多媒體、字處理文檔等。

數(shù)據(jù)類型說明:

BLOB:Blob最大長度為64KB。

MEDIUMBLOB:Blob最大長度為16 MB。

LONGBLOB:Blob最大長度為4GB。

TINYBLOB:Blob最大長度為255字節(jié)。

以上就是MySQL數(shù)據(jù)類型全解析的詳細(xì)內(nèi)容,更多關(guān)于MySQL數(shù)據(jù)類型的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: MySQL 數(shù)據(jù)庫
相關(guān)文章:
主站蜘蛛池模板: 呼伦贝尔市| 宁陵县| 海丰县| 双流县| 大石桥市| 巩义市| 青州市| 乌兰浩特市| 辽宁省| 夏邑县| 凤凰县| 天祝| 林西县| 泰安市| 广饶县| 醴陵市| 贺兰县| 富宁县| 宜宾市| 长沙市| 河池市| 桂东县| 景泰县| 阳高县| 曲靖市| 宿迁市| 日喀则市| 竹溪县| 稷山县| 通化县| 乌兰察布市| 田林县| 浠水县| 邯郸市| 康平县| 安泽县| 白山市| 西畴县| 虹口区| 呼和浩特市| 临武县|