MySQL数据类型
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了MySQL数据类型,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2075字,纯文字阅读大概需要3分钟。
内容图文
![MySQL数据类型](/upload/InfoBanner/zyjiaocheng/920/36d68d829d234160964273c019b3252c.jpg)
1.整型
1.处理符号问题时,默认是有符号,需要无符号时添加 UNSIGNED
CREATE TABLE `tbl` (`number` INT UNSIGNED);
2.INT(4),INT(11)与INT
INT(w),w表示的不是这个值的位数,仅仅代表显示的宽度,需要配合ZEROFILL使用,如
CREATE TABLE `t3` (`id` INT(3) ZEROFILL); INSERT INTO T3 VALUES(2); INSERT INTO T3 VALUES(2456);
查询时,如果实际位数大于宽度,则全部显示,否则补0
当使用ZEROFILL时,该属性变为UNSIGNED,如果插入负值,则实际插入了0.
3.其他整型
TINYINT 1字节
SMALLINT 2字节
MEDIAINT 3字节
INT 4字节
BIGINT 8字节
2.浮点型与定点型
1.浮点型有两种:FLOAT [(M,D)], DOUBLE [(M,D)]
M表示总位数,D表示小数点后的位数,当省略时,mysql按实际数值表示
2.定点型DECIMAL
当M,D被省略时,M=10,D=0
2.当插入的值小数点位数不足时补零,多余时舍入(可能是四舍五入)。
3.详细参照
https://www.cnblogs.com/gulibao/p/5416245.html
3.字符型
1.VARCHAR(N)
N的意义
在MySQL5之前,N表示字节数,MySQL5之后表示的是字符数,具体所占的字节数与编码有关。
对于GBK编码,一个汉字占3个字节,UTF-8编码,占2-3个字节,计算时按3个字节计算。
VARCHAR类型的最大长度
mysql将varchar数据保存在聚簇索引之外,且用1-2两个字节表示实际字符串长度,故其理论最大长度为65535字节,之所以是理论,是因为它还受行长度的限制。
来自行长度的限制
mysql5之后,行长度的最大字节数为65535,由于varchar的起始位和结束位还要占3个字节,故utf8编码的表,其最大字符数为65535/3-1=21844
当不止一个varchar属性时,最大长度又会发生变化。
2.CHAR(N)
N的意义
N依然表示字符数,具体占的字节数看编码,N最大255,当插入字符串长度超过N时,发生截取。
特点
CHAR类型的数据存储时会自动填充空格,检索时效率较高。
4.时间型
1.长度比较
TIMESTAMP 表示范围从1970年到2038年,占四个字节
DATETIME 占8个字节
DATE,TIME,YEAR均占3个字节。
2.TIMESTAMP的两个属性
如果定义时DEFAULT CURRENT_TIMESTAMP和ON UPDATE CURRENT_TIMESTAMP子句都有,列值为默认使用当前的时间戳,并且自动更新。
如果不使用DEFAULT和ON UPDATE子句,那么它等同于DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP。
如果只有DEFAULT CURRENT_TIMESTAMP子句,而没有ON UPDATE子句,列值默认为当前时间戳但不自动更新。
如果只有ON UPDATE CURRENT_TIMESTAMP子句,列默认为0并自动更新
5.枚举型
ENUM('value1','value2') 按字符串形式表示,内部按整形存储,最多有65535个值
内容总结
以上是互联网集市为您收集整理的MySQL数据类型全部内容,希望文章能够帮你解决MySQL数据类型所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。