社区
MySQL
帖子详情
问一个关于mysql里字段占的字节数的问题
我不是稻草人
2012-07-26 05:02:37
int(1)和int(10)在mysql占的大小都是4字节么?
...全文
458
5
打赏
收藏
问一个关于mysql里字段占的字节数的问题
int(1)和int(10)在mysql占的大小都是4字节么?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
珠海-天堂
2012-07-27
打赏
举报
回复
MySQL还支持选择在该类型关键字后面的括号内指定整数值的显示宽度(例如,INT(4))。该可选显示宽度规定用于显示宽度小于指定的列宽度的值时从左侧填满宽度。
显示宽度并不限制可以在列内保存的值的范围,也不限制超过列的指定宽度的值的显示。
当结合可选扩展属性ZEROFILL使用时, 默认补充的空格用零代替。例如,对于声明为INT(5) ZEROFILL的列,值4检索为00004。请注意如果在整数列保存超过显示宽度的一个值,当MySQL为复杂联接生成临时表时会遇到问题,因为在这些情况下MySQL相信数据适合原列宽度。
所有整数类型可以有一个可选(非标准)属性UNSIGNED。当你想要在列内只允许非负数和该列需要较大的上限数值范围时可以使用无符号值。
浮点和定点类型也可以为UNSIGNED。同数类型,该属性防止负值保存到列中。然而,与整数类型不同的是,列值的上范围保持不变。
如果为一个数值列指定ZEROFILL,MySQL自动为该列添加UNSIGNED属性。
ACMAIN_CHM
2012-07-26
打赏
举报
回复
都是 4 字节。
rucypli
2012-07-26
打赏
举报
回复
mysql> create table test5(a int(10) zerofill);
Query OK, 0 rows affected (0.00 sec)
mysql> insert into test5 values(1);
Query OK, 1 row affected (0.00 sec)
mysql> select * from test5;
+------------+
| a |
+------------+
| 0000000001 |
+------------+
1 row in set (0.00 sec)
mysql> create table test6(a int(20) zerofill);
Query OK, 0 rows affected (0.00 sec)
mysql> insert into test6 values(1);
Query OK, 1 row affected (0.00 sec)
mysql> select * from test6;
+----------------------+
| a |
+----------------------+
| 00000000000000000001 |
+----------------------+
1 row in set (0.00 sec)
mysql>
rucypli
2012-07-26
打赏
举报
回复
对 都是4字节
int1和int10的区别在于如果表定义加上zerofill后再客户端显示长度不同
Rotel-刘志东
2012-07-26
打赏
举报
回复
int(1)和int(10)占用字节数都是4个字节。
MySQL
入门进阶及面试题分析
本阶段
mysql
学习从0基础开始的课程。 你可以掌握以下知识点:
mysql
安装,
mysql
shell命令,
mysql
关系型数据库术语,
mysql
整体架构分析,
mysql
-innodb存储引擎,
mysql
存储引擎写入架构以及配置,
mysql
日志管理,
mysql
SQL语句(create,delete,insert,update,select),
mysql
查询语句聚合,
mysql
表连接,
mysql
字段
类型,
mysql
表约束以及表结构操作,
mysql
唯一约束非空约束主键约束,
mysql
外键约束和默认约束,
mysql
表关系(多对多,一对一,一对多)
mysql
一个
汉字是几个字节_
mysql
里
一个
中文汉字
占
多少
字节数
?
在
mysql
中,如果是latin1字符集下,
一个
中文汉字
占
2个
字节数
;如果是utf8字符集下,
一个
中文汉字
占
3个
字节数
;如果是gbk字符集下,
一个
中文汉字
占
2个
字节数
。
mysql
各字符集下汉字和字母
占
字节数
varchar(N), 这
里
的N是指字符数,并不是
字节数
.
占
用的
字节数
与编码有关在
mysql
5.1.5-alpha下测试得出如下结论latin1:1character=1byte, 1汉字=2...
mysql
里
一个
中文汉字
占
多少
字节数
?
在
mysql
中,如果是latin1字符集下,
一个
中文汉字
占
2个
字节数
;如果是utf8字符集下,
一个
中文汉字
占
3个
字节数
;如果是gbk字符集下,
一个
中文汉字
占
2个
字节数
。
mysql
各字符集下汉字和字母
占
字节数
varchar(N), 这
里
的N是指字符数,并不是
字节数
.
占
用的
字节数
与编码有关 在
mysql
5.1.5-alpha下测试得出如下结论 latin1: 1character=1byte, 1汉字=2character, 也就是说
一个
字段
定义成 varchar(200),则它可以存储100个汉字或.
mysql
字符所
占
字节查看
mysql
字符字节大小 -- 这
里
只介绍char、varchar字符类型,其他同理 DROP TABLE IF EXISTS tmp3; CREATE TABLE tmp3 ( t_id INT PRIMARY KEY auto_increment, t_char CHAR ( 4 ), t_varchar VARCHAR ( 4 ) ); -- length 查看
字段
所
占
字节大小 select length(t_char),length(t_varchar) from tmp3; --
MySQL
建表
字段
长度的限制、汉字和字母
占
字节数
varchar(N),N指的是最大字符数,不是
字节数
。 记住: (1)
MySQL
要求
一个
行的定义长度不能超过65535。 (2)单个
字段
如果大于65535,则转换为TEXT 。 (3)单行最大限制为65535,这
里
不包括TEXT、BLOB。 (4)utf8: 1character=3bytes, 1汉字=1character 也就是说
一个
字段
定义成 varchar(200),则它可以存储200个汉字或者200个字母。 (5)gbk: 1character=2bytes,1汉字=1character 也就是说
MySQL
56,678
社区成员
56,708
社区内容
发帖
与我相关
我的任务
MySQL
MySQL相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MySQL相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章