mediumtext和string转换_数据类型 - 字符串类型 - 《TiDB v3.0 用户文档》 - 书栈网 · BookStack...
字符串類型
TiDB 支持 MySQL 所有的字符串類型,包括 CHAR、VARCHAR、BINARY、VARBINARY、BLOB、TEXT、ENUM 以及 SET,完整信息參考這篇文檔。
類型定義
CHAR 類型
定長字符串。CHAR 列的長度固定為創(chuàng)建表時聲明的長度。長度可以為從 0 到 255 的任何值。當(dāng)保存 CHAR 值時,在它們的右邊填充空格以達(dá)到指定的長度。
{{< copyable “sql” >}}
[NATIONAL]CHAR[(M)][CHARACTER SET charset_name][COLLATE collation_name]
VARCHAR 類型
變長字符串。M 表示最大列長度,范圍是 0 到 65535。VARCHAR 的最大實際長度由最長的行的大小和使用的字符集確定。
{{< copyable “sql” >}}
[NATIONAL]VARCHAR(M)[CHARACTER SET charset_name][COLLATE collation_name]
TEXT 類型
文本串。M 表示最大列長度,范圍是 0 到 65535。TEXT 的最大實際長度由最長的行的大小和使用的字符集確定。
{{< copyable “sql” >}}
TEXT[(M)][CHARACTER SET charset_name][COLLATE collation_name]
TINYTEXT 類型
類似于 TEXT,區(qū)別在于最大列長度為 255。
{{< copyable “sql” >}}
TINYTEXT[(M)][CHARACTER SET charset_name][COLLATE collation_name]
MEDIUMTEXT 類型
類似于 TEXT,區(qū)別在于最大列長度為 16,777,215。
{{< copyable “sql” >}}
MEDIUMTEXT[CHARACTER SET charset_name][COLLATE collation_name]
LONGTEXT 類型
類似于 TEXT,區(qū)別在于最大列長度為 4,294,967,295。
{{< copyable “sql” >}}
LONGTEXT[CHARACTER SET charset_name][COLLATE collation_name]
BINARY 類型
類似于 CHAR,區(qū)別在于 BINARY 存儲的是二進(jìn)制字符串。
{{< copyable “sql” >}}
BINARY(M)
VARBINARY 類型
類似于 VARCHAR,區(qū)別在于 VARBINARY 存儲的是二進(jìn)制字符串。
{{< copyable “sql” >}}
VARBINARY(M)
TINYBLOB 類型
類似于 BLOB,區(qū)別在于最大列長度為 255。
{{< copyable “sql” >}}
TINYBLOB
BLOB 類型
二進(jìn)制大文件。M 表示最大列長度,范圍是 0 到 65535。
{{< copyable “sql” >}}
BLOB[(M)]
MEDIUMBLOB 類型
類似于 BLOB,區(qū)別在于最大列長度為 16,777,215。
{{< copyable “sql” >}}
MEDIUMBLOB
LONGBLOB 類型
類似于 BLOB,區(qū)別在于最大列長度為 4,294,967,295。
{{< copyable “sql” >}}
LONGBLOB
ENUM 類型
枚舉類型是一個字符串,它只能有一個值的字符串對象。其值必須是從一個固定集合中選取,這個固定集合在創(chuàng)建表的時候定義,語法是:
{{< copyable “sql” >}}
ENUM('value1','value2',...)[CHARACTER SET charset_name][COLLATE collation_name]
例如:
{{< copyable “sql” >}}
ENUM('apple','orange','pear')
枚舉類型的值在 TiDB 內(nèi)部使用數(shù)值來存儲,每個值會按照定義的順序轉(zhuǎn)換為一個數(shù)字,比如上面的例子中,每個字符串值都會映射為一個數(shù)字:
值
數(shù)字
NULL
NULL
‘’
0
‘a(chǎn)pple’
1
‘orange’
2
‘pear’
3
SET 類型
集合類型是一個包含零個或多個值的字符串,其中每個值必須是從一個固定集合中選取,這個固定集合在創(chuàng)建表的時候定義,語法是:
{{< copyable “sql” >}}
SET('value1','value2',...)[CHARACTER SET charset_name][COLLATE collation_name]
例如:
{{< copyable “sql” >}}
SET('1','2')NOT NULL
上面的例子中,這列的有效值可以是:
''
'1'
'2'
'1,2'
集合類型的值在 TiDB 內(nèi)部會轉(zhuǎn)換為一個 Int64 數(shù)值,每個元素是否存在用一個二進(jìn)制位的 0/1 值來表示,比如這個例子 SET('a','b','c','d'),每一個元素都被映射為一個數(shù)字,且每個數(shù)字的二進(jìn)制表示只會有一位是 1:
成員
十進(jìn)制表示
二進(jìn)制表示
‘a(chǎn)’
1
0001
‘b’
2
0010
‘c’
4
0100
‘d’
8
1000
這樣對于值為 ('a', 'c') 的元素,其二進(jìn)制表示即為 0101。
與50位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的mediumtext和string转换_数据类型 - 字符串类型 - 《TiDB v3.0 用户文档》 - 书栈网 · BookStack...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MySQL同表关联的id替换名称_MyS
- 下一篇: mysql locking_Mysql