16.4 MySQL数据类型

16.4 mysql数据类型

视频讲解:光盘TMlx1604 MySQL数据类型.mp4

在MySQL数据库中,每一条数据都有其数据类型。MySQL支持的数据类型主要分成三类:数字类型、字符串(字符)类型、日期和时间类型。

16.4.1 数字类型

MySQL支持所有的ANSI/ISO SQL 92数字类型。这些类型包括准确数字的数据类型(NUMERIC、DECIMAL、INTEGER和SMALLINT),还包括近似数字的数据类型(FLOAT、REAL和DOUBLE PRECISION)。其中的关键字INT是INTEGER的简写,关键字DEC是DECIMAL的简写。

一般来说,数字类型可以分成整型和浮点型两类,详细内容如表16.1和表16.2所示。

表16.1 整数数据类型

表16.2 浮点数据类型

说明

在创建表时,使用哪种数字类型应遵循以下原则:

(1)选择最小的可用类型,如果值永远不超过127,则使用TINYINT要比使用INT好。

(2)对于完全都是数字的,可以选择整数类型。

(3)浮点类型用于可能具有小数部分的数。例如,货物单价、网上购物交付金额等。

16.4.2 字符串类型

字符串类型可以分为三类:普通的文本字符串类型(CHAR和VARCHAR)、可变类型(TEXT和BLOB)和特殊类型(SET和ENUM)。它们之间都有一定的区别,取值的范围不同,应用的地方也不同。

(1)普通的文本字符串类型,即CHAR和VARCHAR类型。CHAR列的长度在创建表时指定,取值范围为1~255; VARCHAR列的值是变长的字符串,取值和CHAR一样。普通的文本字符串类型如表16.3所示。

表16.3 普通的文本字符串类型

(2)可变类型,即TEXT和BLOB类型。它们的大小可以改变,TEXT类型适合存储长文本,而BLOB类型适合存储二进制数据,支持任何数据,如文本、声音和图像等。TEXT和BLOB类型如表16.4所示。

表16.4 TEXT和BLOB类型

(3)特殊类型,即SET和ENUM类型。SET和ENUM类型的介绍如表16.5所示。

表16.5 ENUM和SET类型

说明

在创建表时,使用字符串类型时应遵循以下原则:

(1)从速度方面考虑,要选择固定的列,可以使用CHAR类型。

(2)要节省空间,使用动态的列,可以使用VARCHAR类型。

(3)要将列中的内容限制在一种选择,可以使用ENUM类型。

(4)允许在一个列中有多于一个的条目,可以使用SET类型。

(5)如果要搜索的内容不区分大小写,可以使用TEXT类型。

(6)如果要搜索的内容区分大小写,可以使用BLOB类型。

16.4.3 日期和时间类型

日期和时间类型包括:DATETIME、DATE、TIMESTAMP、TIME和YEAR。其中的每种类型都有其取值的范围,如赋予它一个不合法的值,将会被0代替。下面介绍日期和时间数据类型,如表16.6所示。

表16.6 日期和时间数据类型

在MySQL中,日期的顺序是按照标准的ANSI SQL格式进行输入的。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

微信扫一扫

微信扫一扫

微信扫一扫,分享到朋友圈

16.4 MySQL数据类型