跟王老师学MySQL:MySQL数据类型之字符类型
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了跟王老师学MySQL:MySQL数据类型之字符类型相关的知识,希望对你有一定的参考价值。
跟王老师学mysql:MySQL数据类型之字符类型
主讲教师:王少华 QQ群号:483773664
学习内容:
字符串类型的种类及其特点
char和varchar的异同
字符串类型是在数据库中存储字符串的数据类型。
字符串类型包括
CHAR、
VARCHAR
BLOB
TEXT
一、char和varchar
(一)定义语法
1 |
|
注:
字符串类型:char或varchar
M:指定了该字符串最大长度
(二)二者不同之处
char类型长度是固定的,即在创建表时就指定了,其长度可以是0--255
varchar类型长度是可变的,在创建表时指定了最大长度,其取值可以是0-65535.
char(5):字段值占有的空间都是5个字符,如果值没有5个字节,也给其分配5个字符,如果值超过了5个字符,就会报错
varchar(5):字段值占有的空间根据值的大小决定,如果值是3个字符,那就分配3个字符,如果值是30个字符,那么系统为其分配30个字符,即使用多少分配多少
(三)举例
1 创建表
创建学生表(stu),有二个字段,name是char类型,外号(waihao)varchar
1 2 3 4 |
|
2 验证超过char会报错
1 |
|
改一下,zhangxiaosan--->zhangsan
3 验证M代表是字符数
1 |
|
4、存储字符时char去掉字符串末尾空格,varchar不会去掉字符串末尾空格
1 |
|
1 |
|
5、存储字符时,char、varchar都不会去掉字符串前部空格
1 |
|
(四)varchar和char的选择原则
VARCHAR与CHAR两种字符型数据类型相比,最大的差异就是前者是可变长度,而后者则是固定长度。
由于char是定长的,其查询速度比varchar要快。
通过一个例子来说明一个二者的选择原因。
微博用户名:用户名的长度不般不超过10个字,而且用户量很大,所以我们可以用char(10),用空间换时间
微博内容:140个字,用char就太浪费空间了,我们可以用varchar(140)
二、Text类型
TEXT类型是一种特殊的字符串类型,
TEXT只能字符数据,如新闻内容等。
TEXT类型包括TINYTEXT、TEXT、MEDIUMTEXT、LONGTEXT
从上表可以看出,这几种类型的text类型,主要区别是存储空间的不同。所以选择要根据实现需求来。
三、BLOB
BLOB可以用来保存数据量很大的二进制数据,比如图片等
BLOB类型包括TINYBLOB、BLOB、MEDIUMBLOB和LONGBLOB。区别就存储的最大长度不同
注:
通常情况下,图片等文件一般存储在文件系统中,然后在数据库中存储这些文件的路径。这种方式存储比直接存储在数据库中简单,但是访问速度比存储在数据库中慢
四、总结
五、教学视频
http://edu.51cto.com/course/course_id-6420.html
本文出自 “跟王老师学编程” 博客,请务必保留此出处http://teacherwang.blog.51cto.com/10946447/1795478
以上是关于跟王老师学MySQL:MySQL数据类型之字符类型的主要内容,如果未能解决你的问题,请参考以下文章