1.什么是数据类型
2.mysql常见数据类型
| 整数型 |
|---|
| 类型 | 大小 | 范围(有符号) | 范围(无符号) | 用途 |
| TINYINT | 1字节 | (-128 , 127) | (0 , 255) | 小整数值 |
| SMALLINT | 2字节 | (-32768 , 32767) | (0 , 65535) | 大整数值 |
| MEDIUMINT | 3字节 | (-8388608 , 8388607) | (0 , 16777215) | 大整数值 |
| INT | 4字节 | (-2147483648 , 2147483647) | (0 , 4294967295) | 大整数值 |
| BIGINT | 8字节 | (负的2的32次方减1,2的32次方减1) | (0 , 2 的 64 次方减 1) | 极大整数值 |
ps:1字节为8位,也就是8byte,二进制表示就是0 0 0 0 0 0 0 0,换算为十进制最大范围就是2的8次方减1,为255
| 浮点型 |
|---|
| FLOAT(m,d ) | 4 字节 | 单精度浮点型 | 备注: m 代表总个数, d 代表小数位个数 |
| DOUBLE(m,d ) | 8 字节 | 双精度浮点型 | 备注: m 代表总个数, d 代表小数位个数 |
| 定点型 |
|---|
| DECIMAL(m,d ) | 大小依赖于 M 和 D 的值 | 备注: m 代表总个数, d 代表小数位个数 |
| 字符串类型 |
|---|
| 类型 | 大小 | 备注 |
| CHAR | 0-255 字节 | 定长字符串 |
| VARCHAR | 0-65535 字节 | 变长字符串 |
| TINYTEXT | 0-255 字节 | 短文本字符串 |
| TEXT | 0-65535 字节 | 长文本数据 |
| MEDIUMTEXT | 0-16777215 字节 | 中等长度文本数据 |
| LONGTEXT | 0-4294967295 字节 | 极大文本数据 |
ps:char的优缺点:存取速度比varchar更快,但是比varchar更占用空间
varchar的优缺点:比char省空间。但是存取速度没有char快
| 时间型 |
|---|
| 数据类型 | 大小 | 格式 | 备注 |
| date | 3字节 | yyyy-MM-dd | 存储日期值 |
| time | 3字节 | HH:mm:ss | 存储时分秒 |
| year | 1字节 | yyyy | 存储年 |
| datetime | 8字节 | yyyy-MM-dd HH:mm:ss | 存储日期 + 时间 |
| timestamp | 4字节 | yyyy-MM-dd HH:mm:ss | 存储日期 + 时间,可作时间戳 |
CREATE TABLE test_time (date_value date,time_value time,year_value YEAR,datetime_value datetime,timestamp_value TIMESTAMP
) ENGINE = INNODB charset = utf8;insert into test_time values(now(), now(), YEAR(NOW()), now(), now());SELECT * FROM test_time
