2.MySQL中的五种数据类型
MySQL的五种数据类型
整数类型
有五种整数类型,最常用的是tinyint、int:
数据类型中的m表示的是显示长度,不是存储长度,只有字段指定zerofill时有用
例如:int(3),实际值是2,在数据库存储为2,如果列指定为zerofill,查询结果显示002
整数类型 | 含义(有符号) |
---|---|
tinyint(m) | 1个字节,范围(-128~127) |
smallint(m) | 2个字节,范围(-32768~32767) |
mediumint(m) | 3个字节,范围(-8388608~8388607) |
int(m) | 4个字节, |
bigint(m) | 8个字节 |
浮点数类型
有两种浮点数类型:
m:显示的总位数;d:小数的位数;整数部分现实的位数:m-d
浮点类型 | 含义 |
---|---|
float(m,d) | 单精度浮点类型,4个字节 |
double(m,d) | 双精度浮点类型,8个字节 |
字符类型
有六种字符类型,常用char、varchar和text:
字符类型 | 含义 |
---|---|
char(n) | 固定长度,最多255个字符 |
varcahr(n) | 可变长度,最多65535个字符,n表示最大长度 |
text | 可变长度,最多65535个字符,无需指定长度 |
tinytext | 可变长度,最多255个字符 |
mediumtext | 可变长度,最多2的24次方-1个字符 |
longtext | 可变长度,最多2的32次方-1个字符 |
char、varchar和text:
- char长度固定,适合用于像电话号码、身份证号等的使用
- varchar可变长度,可以设置最大长度,适用于长度可变的属性
- text可变长度,当不知道属性的最大长度时,使用text
查询速度:char最快,varchar次之,text最慢
日期类型
有四种日期类型:
日期类型 | 含义 |
---|---|
date | 显示“年-月-日” |
time | 显示“时:分:秒” |
datetime | 显示“年-月-日 时:分:秒” |
timestamp | 时间戳,适用于跨时区存储和展示 |
二进制类型(BLOB)
- BLOB和TEXT存储方式不同,TEXT以文本存储,英文存储区分大小写;BLOB以二进制方式存储,不区分大小写
- BLOB存储的数据只能整体读出
- TEXT可以指定字符集,BLOB不用指定字符集
数据类型 | 说明 |
---|---|
tinyblob | 最大255B |
blob | 最大65K |
mediumblob | 最大16M |
longblob | 最大4G |
Windows、linux基本一样通过修改文件my.ini或my.cnf文件,在文件中增加 max_allowed_packet=10M(就是最大10M,mysql默认似乎1MB,增加前先查找一下确保没有设置过)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具