关于mysql数据类型的一点所得
来源:互联网 发布:单片机 蓝牙 app 编辑:程序博客网 时间:2024/06/06 18:47
1.关于char和varchar数据类型的说明
关于mysql中的这两种数据类型,我觉得需要好好的记录整理一下,以备日后查看:
首先是关于char是一种固定长度类型,varchar是一种长度可变的类型。这里关于固定长度和可变长度,是说的存储上,并不是我们检索的结果上,这里很容易让人迷糊,可以举个例子中说明,如将字符串"test "(后缀三个空格,总共7个字节)这样的一个字符串存储到数据库中,char(10)和varchar(10) 在存储的差异,char存储10个字节,varchar只 存储7个。这里有个万分需要注意的地方(虽然存储上是char存10个,varchar存7个,但是查询结果却是char类型的查询结果是“test” varchar类型查询结果是“test ”(后缀三个空格))。所以如果字符串后的空格是需要的话,使用char存储的时候需要进行特别处理了。
2.关于length和char_length的说明
关于这两个求字符串长度的函数,我觉个是用的比较多的,也是容易混的两个,当然还有bit_length函数是求字符串二进制长度的(其实是根据length求的结果再乘以8就是了)
这里重点说一下length和char_length两个函数的使用事项:
length求的是字符串的字节数,数字和英文字母是占一个字节,中文占三个字节,所以"test" 结果是4 “你好世界”结果是12
char_length求的是字符的长度,也就是有几个字符,一个汉字,一个字母,一个数字都是一个字符,所以“test”结果是4 “你好世界”结果也是4.
3.关于数值类型的显示长度和取值范围的说明
首先,我觉得应该说明一下mysql中数值类型都有哪些,tinyint、smallint、mediumint、int(integer)、bigint 分别是8位、16位、24位、32位、64位,分别也决定了各自的取值范围 -2^(n-1) ~ (2^(n-1))-1 如int 是-2的31次方到2的31次方然后再-1
这里所说的显示长度值得是int(4) int(10) 这里的4或者10 ,其实这个显示长度和取值范围没有什么关系。这里如果输入的值的长度超出了显示长度,是会正常显示的,如果不够显示长度也是正常显示,并没有填充空格啊??从查询结果上是这样的,没研究存储上是怎么样。日后查资料。
4.关于datetime和timestamp的说明
mysql中关于时间的数据类型有year、date、time、datetime、timestamp,这里重点说明一下datetime和timestamp这两种类型。
不过这之前先简单了解一下:year(1901--2155) 一个字节存储需求 time三个字节存储需求 date 三个字节 datetime8个字节 timestamp4个字节。
如果插入的数据不符合数据类型的,如插入一个日期是2015-04-32,那么就会变成000-00-00这样的形式、如果插入的year是2255同样也会变成0000这样的样子。
这里区别一下datetime和timestamp
简单的将就是timestamp是带着时区的,datetime是按照实际输入的格式存储,输入什么存什么,但是timestamp存储是以UTC格式进行存储带着时区,存储是对时区进行换算,检索时还要进行换算回来。
暂时先总结以上四点。
0 0
- 关于mysql数据类型的一点所得
- 关于mysql的数据类型
- 关于MySQL 的一点东西
- 每天一点MySQL-数据类型
- 关于MySQL的一点学习纪录
- 关于mysql编码问题的一点理解
- 关于mysql日期格式化的一点心得
- 关于mysql的数据类型的整理
- 关于MySQL数据类型的一些注意问题
- Mysql 关于数据类型注意事项
- 关于Android手机端推送的学习所得
- 基本数据类型的一点思考
- 关于Mysql的日期函数的一点知识
- 关于mysql+PHP+apache的一点小补充
- 一点关于MySQL参数delay_key_write、myisam_recover_options的使用经验
- 关于mysql多重组合查询的一点技巧总结
- 关于php+mysql+nginx配置的一点总结
- 关于mysql下索引使用的一点心得
- P122第20题
- 基于REST的Webservice
- response 生成图片验证码
- Visual Studio Command Prompt 工具配置方法
- ZOJ 3865 Superbot
- 关于mysql数据类型的一点所得
- POJ2342 Anniversary party
- byteorder.h学习
- ScrollView嵌套GridView,只给GridView分发点击事件
- 设置了UIControlStateDisabled却无效
- [leetcode]Reverse Linked List II (反转链表值 C语言实现)
- PopupWindow用法
- Linux---ifconfig命令
- static修饰的方法不能用this引用