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