飙血推荐
  • HTML教程
  • MySQL教程
  • JavaScript基础教程
  • php入门教程
  • JavaScript正则表达式运用
  • Excel函数教程
  • UEditor使用文档
  • AngularJS教程
  • ThinkPHP5.0教程

MySQL 的数据类型

时间:2021-12-02  作者:匿名  

正确定义表中的字段对于数据库的整体优化非常重要。您应该只使用真正需要使用的字段的类型和大小。例如,如果知道只使用2个字符,则不要定义10个字符宽的字段。这些类型的字段(或列)也称为数据类型,位于要存储在这些字段中的数据类型之后。

MySQL使用许多不同的数据类型,分为三类:

1、数字类型-Numeric

2、日期和时间-Date and Time

3、字符串-String Types

下面让我们详细看看这些不同的数据类型。

数值数据类型

MySQL使用所有ANSI SQL标准数值数据类型,所以如果你到MySQL来自一个不同的数据库系统,这些定义将会熟悉你。

下面的列表显示了常见的数值数据类型和它们的描述:

1、INT−一个正常大小的整数,可以是有符号的,也可以是无符号的。如果已签名,则允许的范围为-2147483648到2147483647。如果未签名,则允许的范围为0到4294967295。您最多可以指定11位数字的宽度。

2、TINYINT−可以是有符号或无符号的非常小的整数。如果有符号,允许的范围为-128到127。如果未签名,则允许的范围为0到255。您最多可以指定4位数字的宽度。

3、SMALLINT−可以是有符号或无符号的小整数。如果有符号,允许的范围为-32768到32767。如果未签名,则允许的范围为0到65535。您最多可以指定5位数字的宽度。

4、MEDIUMINT−一个中等大小的整数,可以是有符号的,也可以是无符号的。如果已签名,则允许的范围为-8388608到8388607。如果未签名,则允许的范围为0到16777215。您最多可以指定9位数字的宽度。

5、BIGINT−可以是有符号或无符号的大整数。如果已签名,则允许的范围为-9223372036854775808到9223372036854775807。如果未签名,则允许的范围为0到18446744073709551615。您可以指定最多20位的宽度。

6、FLOAT(M, D)−不能无符号的浮点数。您可以定义显示长度(M)和小数位数(D)。这不是必需的,默认为10,2,其中2是小数位数,10是总位数(包括小数)。小数精度可以达到24位浮点。

7、DOUBLE(M, D)−不能无符号的双精度浮点数。 您可以定义显示长度(M)和小数(D)的数量。这不是必需的,将默认为16,4,4是小数的数量。 小数精度可以去53双的地方。 真正的是一个双重的同义词。

8、DECIMAL(M, D)−不能无符号的未打包浮点数。在未打包的小数中,每个小数对应一个字节。需要定义显示长度(M)和小数位数(D)。NUMERIC是十进制的同义词。

日期和时间类型

MySQL日期和时间数据类型如下:

1、DATE − YYYY-MM-DD格式的日期,介于1000-01-01和9999-12-31之间。例如,1973年12月30日将存储为1973-12-30。

2、DATETIME − YYYY-MM-DD HH:MM:SS格式的日期和时间组合,介于1000-01-01 00:00:00和9999-12-31 23:59:59之间。例如,1973年12月30日下午3:30将存储为1973-12-30 15:30:00。

3、TIMESTAMP - 1970年1月1日午夜到2037年某个时间之间的时间戳。这看起来像以前的DATETIME格式,只是数字之间没有连字符;1973年12月30日下午3:30将存储为19731230153000(YYYYMMDDHHMMSS)。

4、TIME - 以HH:MM:SS格式存储时间。

5、YEAR(M) - 以2位或4位格式存储一年。如果长度指定为2(例如,年份(2)),则年份可以介于1970年到2069年(70到69年)之间。如果长度指定为4,则年份可以是1901到2155。默认长度为4。

字符串类型

虽然数字和日期类型很有趣,但您要存储的大多数数据都是字符串格式。此列表描述MySQL中常见的字符串数据类型。

1、CHAR(M) - 一个长度在1到255个字符之间的固定长度字符串(例如CHAR(5)),在存储时用空格右键填充到指定长度。不需要定义长度,但默认值为1。

2、VARCHAR(M) - 长度介于1到255个字符之间的可变长度字符串。例如,VARCHAR(25)。创建VARCHAR字段时必须定义长度。

3、BLOB or TEXT - 最大长度为65535个字符的字段。Blob是“二进制大对象”,用于存储大量二进制数据,如图像或其他类型的文件。定义为文本的字段也包含大量数据。两者之间的区别在于,存储数据的排序和比较在blob上区分大小写,而在文本字段中不区分大小写。不能使用BLOB或TEXT指定长度。

4、TINYBLOB or TINYTEXT - 最大长度为255个字符的BLOB或文本列。不能使用TINYBLOB或TINYTEXT指定长度。

5、MEDIUMBLOB or MEDIUMTEXT - 最大长度为16777215个字符的BLOB或文本列。不能使用MEDIUMBLOB或MEDIUMTEXT指定长度。

6、LONGBLOB or LONGTEXT - 最大长度为4294967295个字符的BLOB或文本列。不能使用LONGBLOB或LONGTEXT指定长度。

7、ENUM - 枚举,这是列表的一个奇特术语。定义枚举时,您正在创建一个必须从中选择值(也可以为NULL)的项目列表。例如,如果希望字段包含“A”或“B”或“C”,则可以将枚举定义为ENUM('A'、'B'、'C'),并且只有这些值(或NULL)才能填充该字段。

搜你所爱
MySQL教程:目录
湘ICP备14001474号-3  投诉建议:234161800@qq.com   部分内容来源于网络,如有侵权,请联系删除。