MySQL的数据类型
Posted wade&luffy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL的数据类型相关的知识,希望对你有一定的参考价值。
在mysql数据库中,每一条数据都有其数据类型。MySQL支持的数据类型主要分成3类:数字类型、字符串(字符)类型、日期和时间类型。
数字类型
MySQL支持所有的ANSI/ISO SQL 92数字类型。这些类型包括准确数字的数据类型(NUMERIC、DECIMAL、INTEGER和SMALLINT),还包括近似数字的数据类型(FLOAT、REAL和DOUBLE PRECISION)。其中的关键词INT是INTEGER的同义词,关键词DEC是DECIMAL的同义词。
在创建表时,使用哪种数字类型,应遵循以下原则:
(1)选择最小的可用类型,如果值永远不超过127,则使用TINYINT比INT好。
(2)对于完全都是数字的,可以选择整数类型。
(3)浮点类型用于可能具有小数部分的数。例如货物单价、网上购物交付金额等。
字符串类型
字符串类型可以分为3类:普通的文本字符串类型(CHAR和VARCHAR)、可变类型(TEXT和BLOB)和特殊类型(SET和ENUM)。它们之间都有一定的区别,取值的范围不同,应用的地方也不同。
(1)普通的文本字符串类型,即CHAR和VARCHAR类型,CHAR列的长度被固定为创建表所声明的长度,取值在1~255之间;VARCHAR列的值是变长的字符串,取值和CHAR一样。
(2)TEXT和BLOB类型。它们的大小可以改变,TEXT类型适合存储长文本,而BLOB类型适合存储二进制数据,支持任何数据,例如文本、声音和图像等。
(3)特殊类型SET和ENUM。
在创建表时,使用字符串类型时应遵循以下原则:
(1)从速度方面考虑,要选择固定的列,可以使用CHAR类型。
(2)要节省空间,使用动态的列,可以使用VARCHAR类型。
(3)要将列中的内容限制在一种选择,可以使用ENUM类型。
(4)允许在一个列中有多于一个的条目,可以使用SET类型。
(5)如果要搜索的内容不区分大小写,可以使用TEXT类型。
(6)如果要搜索的内容区分大小写,可以使用BLOB类型。
日期和时间数据类型
日期和时间类型包括:DATETIME、DATE、TIMESTAMP、TIME和YEAR。其中的每种类型都有其取值的范围,如赋予它一个不合法的值,将会被“0”代替。
在MySQL中,日期的顺序是按照标准的ANSISQL格式进行输出的。
以上是关于MySQL的数据类型的主要内容,如果未能解决你的问题,请参考以下文章