Mysql的数据类型主要分为三类:数字类型、字符串(字符)类型、日期和时间类型,由于时间紧迫,根据学习的需要
数字类型暂不做详解,等待有时间了在修改此文档,此文主要介绍mysql 数据类型中的字符串类型;
注:数据类型支持附加参数,例如:float(7,3),7代表显示的数值不能超过7,3表示小数点后面有三位数字;
字符串类型详解
.字符串类型可分为3类,普通的文本字符串类型(char和varchar)、可变类型(text和blob)和特殊类型(set和enum)
1.普通的文本字符串类型
数据的检索效率由高到低:char>varchar>text(下文中将讲解test类型的字符串)
https://www.cnblogs.com/muffe/p/4314537.html(参考网站)
2.可变类型(TEXT与BLOB)
a)text:用来存储长文本;
b)BLOB:BLOB二进制大对象,是一个可以存储二进制文件的容器,在计算机中,BLOB常常是数据中用来存储二进制文件的字段类类型。BLOB是一个大文件,典型的BLOB是一张图片或一个声音,由于他们的尺寸,必须使用特殊的方式来处理。
text与blob,它们的大小可以改变,text类型适合存储长文本,而blob类型适合存储二进制数据,支持任何数据,如文本、声音和图像。text和blob类型的介绍如下。
注:CHAR为定长,VARCHAR和TEXT为变长
CHAR会造成空间浪费,但是有速度优势 (浪费空间,节约时间
VARCHAR和TEXT节省了空间,但是速度就不如CHAR (浪费时间,节约空间)
【建议】:
(1)经常变化的字段用VARCHAR
(2)知道固定长度的用CHAR
(3)尽量用VARCHAR
(4)超过255字节的只能用VARCHAR或者TEXT
(5)能用VARCHAR的地方不用TEXT ,因为检索效率Varchar比Text高效.
数据的检索效率是:char>varchar>text
3.日期和时间类
lMySQL 带有 5 个不同的日期类型可供选择
被分成简单的日期(DATE)、时间类型(TIME),和混合日期和时间(DATETIME)、时间类型。根据要求的精度,子类型在每个分类型中都可以使用。