mysql数据列类型,数据表设计
一、数值类的数据列类型(一个字节8个beta,对应2的多少次)
数据列类型 | 存储空间(单位字节) | 说明 | 取值范围 |
---|---|---|---|
TINYINT | 1 | 非常小的整数 | 带符号值:-128~127 无符号:0~255(2^8-1) |
SMALLINT | 2 | 较小的整数 | 带符号值:-32768~32767 无符号:0~65535 |
MEDIUMINT | 3 | 中等大小的整数 | 带符号值:-8388608~8388607 无符号:0~16777215 |
INT | 4 | 标准的整数 | 带符号值:-2147483648~2147483647 无符号:0~4294967295 |
BIGINT | 8 | 大的整数 | 带符号值:-9223372036854775808~9223372036854775807 无符号:0~18446744073709551615 |
FLOAT | 4/8 | 单精度浮点数 | 最小非零值:±1.175494351E-38 最大非零值:±3.402823466E+38 |
DOUBLE | 8 | 双精度浮点数 | 最小非零值:±2.2250738585072014E-308 最大非零值:±1.7976931348623157E+308 |
DECIMAL | 自定义 | 以字符串形式表示的浮点数 | 取决于存储单元字节数 |
二、字符串类的数据列类型(一个字节8个beta,对应2的多少次)
数据列类型 | 存储空间(单位字节) | 说明 | 最大长度 |
---|---|---|---|
CHAR[(M)] | M | 定长字符串 | M个字节 |
VARCHAR[(M)] | L+1 | 可变字符串 | M个字节 |
TINYBLOD,TINYTEXT | L+1 | 2^8-1个字节 | |
BLOB,TEXT | L+2 | 小BLOB和文本串 | 2^16-1个字节 |
MEDIUMBLOB,MEDIUMTEXT | L+3 | 中等的BLOB和文本串 | 2^14-1个字节 |
LONGBLOB,LONGTEXT | L+4 | 大BLOB和文本串 | 2^32-1个字节 |
ENUM('vluee1','value2'...) | 1/2 | 枚举:可赋予某个枚举成员 | 65535个成员 |
SET('vluee1','value2'...) | 1,2,3,4,8 | 可赋予多个集合成员 | 64个成员 |
三、 日期和时间型数据列类型(一个字节8个beta,对应2的多少次)
数据列类型 | 存储空间(单位字节) | 说明 | 最大长度 |
---|---|---|---|
DATE | 3 | "YYYY_MM_DD"格式表示的日期值 | 1000-01-01~9999-12-32 |
TIME | 3 | "hh:mm:ss"格式表示的时间值 | -838:59:59~838:59:59 |
DATETIME | 8 | "YYYY-MM-DD hh:mm:ss"格式 | 1000-01-01 00:00:00 到 9999-12-31 23:59:59 |
TIMESTAMP | 4 | "YYYY-MM-DDhh:mm:ss"格式表示的时间戳 | 19700101000000~2037年某个时刻 |
YEAR | 1 | "YYYY"格式的年份值 | 1901-2155 |