这里粗略介绍一下常用的数据类型,在mysql中创建数据报时需要进行初始化。
MYSQL支持多种数据类型,大致可以分为三类:
1.数值类型
类型 | 大小 | 范围(有符号) | 范围(无符号) | 用途 |
---|---|---|---|---|
TINYINT | 1byte | (-128,127) | (0,255) | 小整数值 |
SMALLINT | 2byte | (-32768,32767) | (0,167777215) | 大整数值 |
MEDIUMINT | 3byte | (-8388608,8388607) | (0,16777215) | 大整数值 |
INT/INTEGER | 4byte | (-2147483648,2147483647) | (0,4294967295)) | 大整数值 |
BIGINT | 8byte | (-9233372036854775808,9223372036854775807) | (0,18446744073709551615) | 极大整数值 |
FLOAT | 4byte | (±3.402823466E+38,±1.175494351E-38),0 | 0,(1.175494351E-38,1,7997693134862315E+308) | 单精度 浮点数值 |
DOUBLE | 8byte | (±1.7976931348623157E+308, ±2.2250738585072014E-308),0 | 0,(1.175494351E-38, 3.402823466E+38) | 双精度 浮点数值 |
DECIMAL | 对DECIMAL(M,D) ,若M>D,为M+2,否则为D+2 | 依赖于M和D的值 | 依赖于M和D的值小数值 | 小数值 |
插入值超过数据范围,会进行报错
ERROR 1264(22003)
2.日期/时间类型
data常用
类型 | 大小(字节) | 范围 | 格式 | 用途 | ||
---|---|---|---|---|---|---|
DATA | 3 | 1000-01-01/9999-12-31 | YYYY-MM-DD | |||
TIME | 3 | ‘-838:59:59’/‘838:59:59’ | HH:MM:SS | 时间值或持续时间 | ||
YEAR | 1 | 1901/2155 | YYYY | 年份值 | ||
DATATIME | 8 | 1000-01-01 00:00:00/9999-12.31 23.59:59 | YYYY-MM-DD HH:MM:SS | 混合日期和时间值 | ||
TIMESTAMP | 4 | 1970-01-01 00:00:00/2038 | YYYYMMDD HHMMSS | 混合日期和时间值,时间戳 |
*结束时间是第2147483647秒,北京时间2038-1-19 11:14:07,格林尼治时间2018年1月19日 凌晨03:14:07
3.字符串类型
char
verchar
text常用
类型 | 大小(字节) | 用途 |
---|---|---|
CHAR | 0-255字节 | 定长字符串 |
VARCHAR | 0-65535字节 | 变长字符串 |
TINYBLOB | 0-255字节 | 不超过255个字符的二进制字符串 |
TINYTEXT | 0-255字节 | 不超过255个字符的二进制字符串 |
BLOB | 0-65535字节 | 二进制形式的长文本数据 |
TEXT | 0-65535字节 | 长文本数据 |
MEDIUMBLOB | 0-16777215字节 | 二进制形式的中档长度文本数据 |
MEDIUMTEXT | 0-16777215字节 | 中等长度文本数据 |
LONGBOLB | 0-4294967295字节 | 二进制形式的极大文本数据 |
LONGTEXT | 0-4294967295 字节 | 极大文本数据 |
数据类型如何选择?
- 日期 选择按照格式
- 数值和字符串类型按照大小(范围)
具体使用时查看即可