二、数据类型
1. 数值类型
类型 | 大小 | 说明 |
---|
TINYINT | 1 byte | 小整数值 (0,255) 三位 |
SMALLINT | 2 bytes | 大整数值 (0,65 535) 6.5万 五位 |
MEDIUMINT | 3 bytes | 大整数值 (0,16 777 215) 1600万 八位 |
INT或INTEGER | 4 bytes | 大整数值 (0,4 294 967 295) 42亿 十位 |
BIGINT | 8 bytes | 极大整数值 (0,18 446 744 073 709 551 615) 1844兆 二十位 |
FLOAT | 4 bytes | 单精度浮点数值 |
DOUBLE | 8 bytes | 双精度浮点数值 |
DECIMAL | 对 DECIMAL(M,D), 如果 M>D, 为 M+2 否则为 D+2 | 小数值 |
2. 日期和时间类型
类型 | 大小(bytes) | 格式 | 说明 |
---|
YEAR | 1 | YYYY | 年份值 (1901/2155) |
DATE | 3 | YYYY-MM-DD | 日期值 |
TIME | 3 | HH:MM:SS | 时间值或持续时间 |
DATETIME | 8 | YYYY-MM-DD HH:MM:SS | 混合日期和时间值 |
TIMESTAMP | 4 | YYYYMMDD HHMMSS | 混合日期和时间值,时间戳 (1970-01-01 00:00:00/2038) |
3. 字符串类型
类型 | 大小 | 说明 |
---|
CHAR(M) | 0-255 bytes | 定长字符串 (M 为字符 0~255 之间的整数) |
VARCHAR(M) | 0-65 535 bytes | 变长字符串 (M 为字符 0~65 535 之间的整数) |
- | | |
TINYBLOB | 0-255 bytes | 不超过 255 个字符的二进制字符串 |
TINYTEXT | 0-255 bytes | 短文本字符串 |
BLOB | 0-65 535 bytes | 二进制形式的长文本数据 |
TEXT | 0-65 535 bytes | 长文本数据 |
MEDIUMBLOB | 0-16 777 215 bytes | 二进制形式的中等长度文本数据 |
MEDIUMTEXT | 0-16 777 215 bytes | 中等长度文本数据 |
LONGBLOB | 0-4 294 967 295 bytes | 二进制形式的极大文本数据 |
LONGTEXT | 0-4 294 967 295 bytes | 极大文本数据 |
- ENGTH() 函数返回一个字符串的长度 (以字节为单位)。
SELECT LENGTH('text');
SELECT LENGTH('王');