MariaDB 數(shù)據(jù)類(lèi)型

2022-08-16 15:29 更新

良好的字段定義對(duì)于優(yōu)化數(shù)據(jù)庫(kù)至關(guān)重要。 理想的方法要求您專(zhuān)門(mén)使用所需類(lèi)型和大小的字段。 例如,如果你只使用一個(gè)字段,五個(gè)字符寬,不要定義一個(gè)字段,20個(gè)字符寬。 字段(或列)類(lèi)型也稱(chēng)為給定存儲(chǔ)在字段中的數(shù)據(jù)類(lèi)型的數(shù)據(jù)類(lèi)型。

MariaDB數(shù)據(jù)類(lèi)型可以分為數(shù)字,日期和時(shí)間以及字符串值。

數(shù)字?jǐn)?shù)據(jù)類(lèi)型

MariaDB支持的數(shù)字?jǐn)?shù)據(jù)類(lèi)型如下 -

  • TINYINT - 此數(shù)據(jù)類(lèi)型表示落入-128到127的有符號(hào)范圍內(nèi)的小整數(shù),以及0到255的無(wú)符號(hào)范圍。

  • BOOLEAN - 此數(shù)據(jù)類(lèi)型將值0與“false”相關(guān)聯(lián),值1與“true”相關(guān)聯(lián)。

  • SMALLINT - 此數(shù)據(jù)類(lèi)型表示-32768到32768的有符號(hào)范圍內(nèi)的整數(shù),以及0到65535的無(wú)符號(hào)范圍。

  • MEDIUMINT - 此數(shù)據(jù)類(lèi)型表示有符號(hào)范圍-8388608到8388607中的整數(shù),無(wú)符號(hào)范圍0到16777215。

  • INT(也為INTEGER) - 此數(shù)據(jù)類(lèi)型表示正常大小的整數(shù)。當(dāng)標(biāo)記為unsigned時(shí),范圍跨越0到4294967295.當(dāng)有符號(hào)(默認(rèn)設(shè)置)時(shí),范圍跨越-2147483648到2147483647.當(dāng)列設(shè)置為ZEROFILL(無(wú)符號(hào)狀態(tài))時(shí),其所有值都由零添加INT值中的M個(gè)數(shù)字。

  • BIGINT - 此數(shù)據(jù)類(lèi)型表示有符號(hào)范圍9223372036854775808到9223372036854775807內(nèi)的整數(shù),無(wú)符號(hào)范圍0到18446744073709551615。

  • DECIMALDEC,NUMERIC,F(xiàn)IXED) - 該數(shù)據(jù)類(lèi)型表示精確的定點(diǎn)數(shù),M指定其數(shù)字,D指定小數(shù)后的數(shù)字。 M值不添加“ - ”或小數(shù)點(diǎn)。如果D設(shè)置為0,則不會(huì)出現(xiàn)小數(shù)或小數(shù)部分,并且該值將舍入為最接近的DECIMAL INSERT。最大允許位數(shù)為65,小數(shù)位數(shù)的最大值為30.默認(rèn)值M的默認(rèn)值為10,省略時(shí)D為0。

  • FLOAT - 此數(shù)據(jù)類(lèi)型表示值0的小的浮點(diǎn)數(shù)或以下范圍內(nèi)的數(shù)字 - 

    • -3.402823466E + 38至-1.175494351E-38

    • 1.175494351E-38至3.402823466E + 38

  • DOUBLE(也是REAL和DOUBLE PRECISION) - 此數(shù)據(jù)類(lèi)型表示值0的正常大小的浮點(diǎn)數(shù),或以下范圍內(nèi)的值 - 

    • -1.7976931348623157E + 308至-2.2250738585072014E-308

    • 2.2250738585072014E-308至1.7976931348623157E + 308

  • BIT - 此數(shù)據(jù)類(lèi)型表示位字段,M指定每個(gè)值的位數(shù)。省略M時(shí),默認(rèn)值為1.位值可以通過(guò)“b'[value]'”應(yīng)用,其中值表示0和1中的位值。零填充從左邊自動(dòng)發(fā)生全長(zhǎng);例如,“10”變?yōu)椤?010”。

日期和時(shí)間數(shù)據(jù)類(lèi)型

MariaDB支持的日期和時(shí)間數(shù)據(jù)類(lèi)型如下 - 

  • DATE - 此數(shù)據(jù)類(lèi)型表示日期范圍“1000-01-01”到“9999-12-31”,并使用“YYYY-MM-DD”日期格式。

  • TIME - 此數(shù)據(jù)類(lèi)型表示“-838:59:59.999999”到“838:59:59.999999”的時(shí)間范圍。

  • DATETIME - 此數(shù)據(jù)類(lèi)型表示范圍“1000-01-01 00:00:00.000000”至“9999-12-31 23:59:59.999999”。它使用“YYYY-MM-DD HH:MM:SS”格式 。

  • TIMESTAMP - 此數(shù)據(jù)類(lèi)型表示“YYYY-MM-DD HH:MM:DD”格式的時(shí)間戳。 它主要用于詳細(xì)描述數(shù)據(jù)庫(kù)修改的時(shí)間,例如插入或更新。

  • YEAR - 此數(shù)據(jù)類(lèi)型表示4位數(shù)格式的年份。 四位數(shù)格式允許在1901到2155和0000范圍內(nèi)的值。

字符串?dāng)?shù)據(jù)類(lèi)型

MariaDB支持的字符串類(lèi)型值如下 -

  • String literals - 此數(shù)據(jù)類(lèi)型表示用引號(hào)括起來(lái)的字符序列。

  • CHAR - 此數(shù)據(jù)類(lèi)型表示包含指定長(zhǎng)度的空格的右側(cè)帶有固定長(zhǎng)度的字符串。 M表示字符的列長(zhǎng)度,取值范圍為0?255,缺省值為1。

  • VARCHAR - 此數(shù)據(jù)類(lèi)型表示一個(gè)可變長(zhǎng)度字符串,M范圍(最大列長(zhǎng)度)為0到65535。

  • BINARY - 此數(shù)據(jù)類(lèi)型表示二進(jìn)制字節(jié)字符串,M為列長(zhǎng)度(以字節(jié)為單位)。

  • VARBINARY - 此數(shù)據(jù)類(lèi)型表示可變長(zhǎng)度的二進(jìn)制字節(jié)字符串,M為列長(zhǎng)度。

  • TINYBLOB - 此數(shù)據(jù)類(lèi)型表示最大長(zhǎng)度為255(28 - 1)個(gè)字節(jié)的blob列。在存儲(chǔ)中,每個(gè)都使用一個(gè)字節(jié)長(zhǎng)度的前綴,表示值中的字節(jié)數(shù)量。

  • BLOB - 此數(shù)據(jù)類(lèi)型表示最大長(zhǎng)度為65,535(216 - 1)個(gè)字節(jié)的blob列。在存儲(chǔ)中,每個(gè)都使用兩字節(jié)長(zhǎng)度的前綴,表示值中的字節(jié)數(shù)量。

  • MEDIUMBLOB - 此數(shù)據(jù)類(lèi)型表示最大長(zhǎng)度為16,777,215(224 - 1)個(gè)字節(jié)的blob列。在存儲(chǔ)中,每個(gè)都使用一個(gè)三字節(jié)長(zhǎng)度前綴,表示值中的字節(jié)數(shù)量。

  • LONGBLOB - 此數(shù)據(jù)類(lèi)型表示最大長(zhǎng)度為4,294,967,295(232 - 1)個(gè)字節(jié)的blob列。在存儲(chǔ)中,每個(gè)使用四字節(jié)長(zhǎng)度的前綴,表示值中的字節(jié)數(shù)量。

  • TINYTEXT - 此數(shù)據(jù)類(lèi)型表示最大長(zhǎng)度為255(28 - 1)個(gè)字符的文本列。在存儲(chǔ)中,每個(gè)都使用一個(gè)字節(jié)長(zhǎng)度的前綴,表示值中的字節(jié)數(shù)量。

  • TEXT - 此數(shù)據(jù)類(lèi)型表示最大長(zhǎng)度為65,535(216 - 1)個(gè)字符的文本列。在存儲(chǔ)中,每個(gè)都使用兩字節(jié)長(zhǎng)度的前綴,表示值中的字節(jié)數(shù)量。

  • MEDIUMTEXT - 此數(shù)據(jù)類(lèi)型表示最大長(zhǎng)度為16,777,215(224 - 1)個(gè)字符的文本列。在存儲(chǔ)中,每個(gè)都使用三字節(jié)長(zhǎng)度前綴,表示值中的字節(jié)數(shù)量。

  • LONGTEXT - 此數(shù)據(jù)類(lèi)型表示最大長(zhǎng)度為4,294,967,295或4GB(232 - 1)個(gè)字符的文本列。在存儲(chǔ)中,每個(gè)使用四字節(jié)長(zhǎng)度的前綴,表示值中的字節(jié)數(shù)量。

  • ENUM - 此數(shù)據(jù)類(lèi)型表示一個(gè)列表中只有一個(gè)值的字符串對(duì)象。

  • SET - 此數(shù)據(jù)類(lèi)型表示一個(gè)列表中具有零個(gè)或多個(gè)值的字符串對(duì)象,最多包含64個(gè)成員。 SET值在內(nèi)部作為整數(shù)值存在。


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)