跟王老师学MySQL:MySQL数据类型常见问题及解答
主讲教师:王少华 QQ群号:483773664
学习内容
整数类型和浮点类型的异同
浮点数类型和定点数类型的异同
char和varchar类型的异同
时间和日期类型的异同
text和blob的异同
存储路径字符串的注意事项
mysql如何存储boolean类型
null的处理
在MySQL中创建表时,需要考虑为字段选择哪种数据类型是最合适的。选择了合适的数据类型,会提高数据库的效率。
一、整数类型和浮点类型
整数类型和浮点类型最大区别是:整数类型不能表达小数,而浮点类型可以表示小数;
如果整数类型的字段,表达的值是0-255之间,那么选择tinyint就可以了.最常用的整数类型是int,bigint类型取值范围最大;
浮点类型包括二种float和double,如果要表示小数点后10位以上的,就应该选择double.
二、浮点数类型和定点数类型
在未指定精度的情况下,float和double类型默认会保存实际精度,decimal默认整数位是10,小数位是0
在MySQLk 如果要对数据的精度要求比较高,应该选择定点数
三、char和varchar类型
char长度固定,varchar类型长度是在范围内可变
对于长度变化比较大的字符串类型,最好选择varchar类型
char烦劳战胜空间比较大,但处理速度比varchar快,所以对于长度变化不大且要求查询速度快的字符串类型,最好选择varchar类型
四、时间和日期类型
year 年份
time 时间
date日期
datetime和timestamp,表示范围大,选择datetime.timestamp会自动根据时区来对应日期时间,如果有这方面的要求,选择timestamp
五、text和blob
text 类型只存储字符数据
blob类型存储二进制数据
六、mysql中如何存储路径
MySQL中使用字符串类型来存储路径,比如varchar 、text等
路径中如果包括‘\‘会被自动过滤,解决办法:用’/‘和‘\\‘来代替
1 |
|
1 |
|
七、MySQL中如何使用布尔类型
MySQL支持布尔类型,用bool或boolean表示。
在MySQLk ,bool或boolean类型最后转换成tinyint(1)类型。
1 |
|
八、null值
(一)null是一奇怪的值
null 不等于空值
null 不等于null
可以通过is null 或 is not null来比较
(二) 设置默认值
很多类型的列,如果不给其赋值,同时这些列又没有默认值,会以null来填充。
为了后面查询筛选的方便,可以在定义列的时候,设置默认值
九、教学视频
http://edu.51cto.com/course/course_id-6420.html