admin 管理员组

文章数量: 1087139


2024年4月24日发(作者:continue能跳出if吗)

    本文由lchengm贡献

    doc1。

    MySQL 字段类型详解

    MySQL 提 供 了 整 数 和 浮 点 数 的 数 值 类 型 。 可 根 据 所 要 表 

示 的 值 的 范 围 选 择 相 应 的 类 型 。 对 于 整 数 类 型 , 如 果 指 定

 了 AUTO_INCREMENT 属 性 , 则 列 必 须 为 PRIMARY KEY 或 UNIQUE 索 引 。将

 NULL 插 入 AUTO_INCREMENT 列 将 会 插 入 一 个 大 于 该 列 中 当 前 最 大

 值 的 值 。 如 果 指 定 了 UNSIGNED 属 性 , 则 相 应 的 整 数 类 型 不 允

 许 取 负 值 。 如 果 指 定 了 ZEROFILL 属 性 , 则 用 前 导 零 填 充 数 值

 类 型 值 以 达 到 列 的 显 示 宽 度 。 1. TINYINT[(M)] 说明:非常小的整数

 允 许 的 属 性 : AUTO _ I N C R E M E N T, UNSIGNED, ZEROFILL 取 值 范 围

 : - 128 到 127( - 27 到 27- 1) 或 者 如 果 为 U N S I G N E D, 则 

0 到 2 5 5 , ( 0 到 2 8-1) 缺 省 值 : 如 果 列 可 为 NULL; 则 为 NULL

; 如 果 列 为 NOT NULL, 则 为 0 存储需求:1 字节 2. SMALLINT[(M)] 说明:

小整数 允 许 的 属 性 : AUTO _ I N C R E M E N T, UNSIGNED, ZEROFILL 取 值

 范 围 : - 32768 到 3 27 6 7( - 215 到 215- 1) 或 者 如 果 为 U N S 

I G N E D, 则 , 0 到 6 5 5 3 5( 0 到 216- 1) 缺 省 值 : 如 果 列 可 

为 NULL; 则 为 NULL; 如 果 列 为 NOT NULL, 则 为 0 存储需求:2 字节 3. 

MEDIUMINT[(M)] 说明:中等大小的整数 允 许 的 属 性 : AUTO _ I N C R E M E

 N T, UNSIGNED, ZEROFILL 取 值 范 围 : -8388608 到 8 3 8 8 6 07( - 22 3

 到 22 3- 1) 或 者 如 果 为 U N S I G N E , D, 则 0 到 16 7 7 2 15( 0

 到 22 4- 1) 缺 省 值 : 如 果 列 可 为 NULL, 则 为 NULL; 如 果 列 为 

NOT NULL, 则 为 0 存储需求:4 字节 4. INT[(M)] 说明:标准大小的整数 允 许

 的 属 性 : AUTO _ I N C R E M E N T, UNSIGNED, ZEROFILL 取 值 范 围 : -

 2147483648 到 2 14 7 4 8 3 6 4 7( - 231 到 2 3 1- 1) 或 者 如 果 为 U

 N , S I G N E D, 则 0 到 4 2 9 4 9 6 7 2 9 5( 0 到 2 3 2- 1) 缺 省 值

 : 如 果 列 为 NULL, 则 为 NULL; 如 果 列 为 NOT FULL, 则 为 0 存储需求

:4 字节 同 义 词 : I N T E G E R [(M)] 5. BIGINT[(M)] 说明:大整数 允 许

 的 属 性 : AUTO _ I N C R E M E N T, UNSIGNED, ZEROFILL 取 值 范 围 : -

 9223372036854775808 到 9 2 2 3 3 7 2 0 3 6 8 5 4 7 7 5 8 07( - 263 到 2

 6 3- 1) 或 者 如 果 为 U N S I G N E D, 则 0 到 18 4 4 6 7 4 4 07 3 7 

0 9 5 5 16 , 15( 0 到 26 4 -1) 缺 省 值 : 如 果 列 可 为 NULL, 则 为 

NULL; 如 果 列 为 NOT NULL, 则 为 0 存储需求:8 字节

    6. FLOAT [(M, D)] 说 明 : 小 浮 点 数 ; 单 精 度 ( 精 度 小 于 D O

 U B L E) 允许的属性:Z E R O F I L L 取 值 范 围 : 最 小 非 零 值 为 ±

1.75494351E -38; 最 大 非 零 值 为 ±3 . 4 0 2 8 2 3 4 6 6 E + 3 8 缺 省 值

 : 如 果 列 可 为 NULL, 则 为 NULL; 如 果 列 为 NOT NULL, 则 为 0 存储

需求:4 字节 同 义 词 : MySQL3.23 版 以 前 , FLOAT(4) 为 具 有 缺 省 M 和

 D 值 的 FLOAT 的 同 义 词 。 注 释 : 在 MySQL3.23 以 后 , FLOAT(4) 为 真

 浮 点 类 型 ( 值 存 储 为 硬 件 所 允 许 的 完 整 精 度 , 而不四舍五入为

缺省的小数位数) 7. DOUBLE[(M, D)] 说 明 : 大 浮 点 数 ; 双 精 度 ( 比 

FLOAT 更 精 确 ) 允许的属性:Z E R O F I L L 取 值 范 围 : 最 小 非 零 值

 为 ±2 . 2 2 5 07 3 8 5 8 5 07 2 0 14 E -308; 最 大 非 零 值 为 ±1。 7 9

 7 6 9 3 13 -4 8 6 2 3 15 7 E + 3 0 8 缺 省 值 : 如 果 列 可 为 NULL, 则

 为 NULL; 如 果 列 为 NOT NULL, 则 为 0 存储需求:8 字节 同 义 词 : DOU

BLE PRECISION[(M, D)] 和 R E A L [ (M, D)] 为 D O U B L E [(M, D)] 的 同 义

 词 。 MySQL3.23 版 以 前 , FLOAT(8) 为 具 有 缺 省 M 和 D 值 的 FLOAT 的

 同 义 词 。 注 释 : 在 MySQL3.23 以 后 , FLOAT(8) 为 真 浮 点 类 型 ( 

值 存 储 为 硬 件 所 允 许 的 完 整 精 度 , 而不四舍五入为缺省的小数位数)

 。 8. DECIMAL(M, D) 说 明 : 存 储 为 串 的 浮 点 数 ( 每 位 数 字 、 小

 数 点 或 “-”号 都 占 1 字 节 ) 。 允许的属性:Z E R O F I L L 取 值 范

 围 : 大 取 值 范 围 与 DOUBLE 相 同 ; 定 DECIMAL 类 型 的 有 效 取 值 范

page 1

 围 由 M 和 D 决 最 给 定。如果 D 为零,则列值无小数点或小数部分。 缺 省 值

 : 如 果 列 可 为 NULL, 则 为 NULL, 如 果 列 为 NOT NULL, 则 为 0 存 储

 需 求 :对 于 MySQL3.23 前 的 版 本 ,为 M 字 节 ,而 MySQL3.23 以 后 的 

版 本 ,为 M+ 2 字节。 同 义 词 : N U M E R I C (M, D) 注 释 : 在 MySQL3

.23 以 后 , M 的 值 为 符 合 ANSI SQL 标 准 , 不 包 括 符 号 字 符 或 小

 数 点 所 占的字节数。 MYSQL 串 类 型 MySQL 的 串 类 型 常 用 来 存 储 文 

本 , 它 不 但 是 通 用 的 而 且 还 能 存 储 任 何 数 据 。 可 用 串 类 型

 来 存 储最大长度可变的值,而且可以选择在处理值时是否区分大小写。 1. CHAR(

M) 说 明 : 0 到 M 字 节 长 的 定 长 字 符 串 。 在 MySQL3.23 版 以 前 , 

M 应 该 为 一 个 1 到 255 之 间 的 整 数 。 而 MySQL3.23 版 以 后 , M 应 

该 为 一 个 0 到 255 之 间 的 整 数 。 短 于 M 个 字 符 的串存储进右边补空

格。长于 M 个字符的串存储时剪断为长度是 M 的串。在检索值时,去 掉后跟的空格

。 允 许 的 属 性 : B I N A RY 允许的长度:0 到 M 字节

    缺 省 值 : 如 果 列 可 为 NULL, 则 为 NULL; 如 果 列 为 NOT NULL,

 则 为 “” 存储需求:M 字节 比 较 : 不 区 分 大 小 写 ( 如 果 具 有 B I

 N A RY 属 性 , 则 区 分 大 小 写 ) 2. VARCHAR(M) 说 明 : 0 到 M 字 节 

长 的 可 变 长 字 符 串 。 M 应 该 为 1 到 255 之 间 的 一 个 整 数 , 或 

者 自 MySQL3.23 后 为 0 到 255 之 间 的 一 个 整 数 。 储 时 后 跟 的 空 格

 被 去 掉 。 储 时 , 于 M 个 存 存 大 字符的串剪断为 M 个字符。 允 许 的 

属 性 : B I N A RY 允许的长度:0 到 M 字节 缺 省 值 : 如 果 列 可 为 NUL

L, 则 为 NULL; 如 果 列 为 NOT NULL, 则 为 “” 存储需求:值的长度,加上

 1 字节用来记录长度 比 较 : 不 区 分 大 小 写 ( 如 果 具 有 B I N A RY 属

 性 , 则 区 分 大 小 写 ) 3. TINYBLOB 说 明 : 小 BLOB 值 允许的属性:除

通用属性外无其他属性 允 许 的 长 度 : 0 到 2 5 5( 0 到 28- 1) 字 节 缺

 省 值 : 如 果 列 可 为 NULL, 则 为 NULL; 如 果 列 为 NOT NULL, 则 为 

“” 存储需求:值的长度加上用于记录长度的 1 个字节 比较:区分大小写 4. BLO

B 说 明 : 常 规 大 小 的 BLOB 值 允许的属性:除通用属性外无其他属性 允 许

 的 长 度 : 0 到 6 5 5 3 5( 0 到 216- 1) 字 节 缺 省 值 : 如 果 列 可

 为 NULL, 则 为 NULL; 如 果 列 为 NOT NULL, 则 为 “” 存储需求:值的长

度加上用于记录长度的 2 个字节 比较:区分大小写 5. MEDIUMBLOB 说 明 : 中 等

 大 小 的 BLOB 值 允许的属性:除通用属性外无其他属性 允 许 的 长 度 : 0 到

 16 7 7 7 2 15( 0 到 224 -1) 字 节 缺 省 值 : 如 果 列 可 为 NULL, 则 

为 NULL; 如 果 列 为 NOT NULL, 则 为 “” 存储需求:值的长度加上用于记录

长度的 3 个字节 比较:区分大小写 6. LONGBLOB 说 明 : 大 BLOB 值 允许的属性

:除通用属性外无其他属性 允 许 的 长 度 : 0 到 4 2 9 4 9 6 7 2 9 5( 0 到

 23 2- 1) 字 节 缺 省 值 : 如 果 列 可 为 NULL, 则 为 NULL; 如 果 列 

为 NOT NULL, 则 为 “” 存储需求:值的长度加上用于记录长度的 4 个字节 比较

:区分大小写 7. TINYTEXT 说 明 : 小 TEXT 值 允许的属性:除通用属性外无其他

属性 允 许 的 长 度 : 0 到 2 5 5( 0 到 2 8 -1) 字 节

    缺 省 值 : 如 果 列 可 为 NULL, 则 为 NULL; 如 果 列 为 NOT NULL,

 则 为 “” 存储需求:值的长度加上用于记录长度的 2 个字节 比较:不区分大小

写 8. TEXT 说 明 : 常 规 大 小 的 TEXT 值 允许的属性:除通用属性外无其他属

性 允 许 的 长 度 : 0 到 6 5 5 3 5( 0 到 216- 1) 字 节 缺 省 值 : 如 

果 列 可 为 NULL, 则 为 NULL; 如 果 列 为 NOT NULL, 则 为 “” 存储需求

:值的长度加上用于记录长度的 2 个字节 比较:不区分大小写 9. MEDIUMTEXT 说 

明 : 中 等 大 小 的 TEXT 值 允许的属性:除通用属性外无其他属性 允 许 的 长

 度 : 0 到 16 7 7 7 2 15( 0 到 22 4- 1) 字 节 缺 省 值 : 如 果 列 可 

为 NULL, 则 为 NULL; 如 果 列 为 NOT NULL, 则 为 “” 存储需求:值的长度

加上用于记录长度的 3 个字节 比较:不区分大小写 10. LONGTEXT 说 明 : 大 TE

XT 值 允许的属性:除通用属性外无其他属性 允 许 的 长 度 : 0 到 4 2 9 4 9 

6 7 2 9 5( 0 到 23 2- 1) 字 节 缺 省 值 : 如 果 列 可 为 NULL, 则 为 

NULL; 如 果 列 为 NOT NULL, 则 为 “” 存储需求:值的长度加上用于记录长度

page 2


本文标签: 长度 属性 记录