失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 【MySQL从入门到精通】:SQL的数据类型

【MySQL从入门到精通】:SQL的数据类型

时间:2019-11-19 15:48:59

相关推荐

【MySQL从入门到精通】:SQL的数据类型

🔥系列专栏:【MySQL从入门到精通】---- 持续更新

目录

1.概述2.数值类型2.1.整数类型2.2.浮点数类型2.3.定点数类型 3.字符串类型3.1.CHAR类型3.2.TEXT类型3.3.BLOB类型3.4.BINARY类型 4.日期和时间类型4.1.DATE类型4.2.TIME类型4.3.DATETIME类型4.4.TIMESTAMP类型4.5.YEAR类型 5.小结

1.概述

数据类型指的是当我们在数据库里创建一个表时,用于存储什么样的数据。

在实际开发过程中,选择合适的数据类型,可以提高数据库性能,因此我们必须了解SQL的数据类型。

MySQL支持所有标准的SQL数据类型,大致可分为三种:

数值型字符串类型日期和时间型

声明:

之前已经讲过,SQL不区分大小写

2.数值类型

2.1.整数类型

整数类型存储整数

其关键字分别为:

TINYINT----(tinyint)----1字节SMALLINT----(smallint)----2字节MEDIUMINT----(mediumint)----3字节INT----(int)----4字节BIGINT----(bigint)----8字节

2.2.浮点数类型

浮点数类型是近似值类型,会四舍五入,所以有时会有误差。

其关键字分别是:

FLOAT----(float)----4字节DOUBLE----(double)----8字节

2.3.定点数类型

定点数类型是精确值类型,当我们想避免误差时可以使用定点数类型。

其关键字是:

DECIMAL----(decimal)----decimal(M,D)----M为精度,D为标度

注:M表示整数位 + 小数位,D表示位于.后面的小数位数

3.字符串类型

在MySQL里,我们使用单引号或双引号来把字符串类型的字段值括起来,这使得我们能更加灵活地保存数据。

如果我们想保存的数据记录里既有单引号又有双引号,这时我们可以使用转义字符反斜杠"\"进行转义。

下面我们看看具体的字符串关键字

3.1.CHAR类型

CHAR----(char)----范围0~255VARCHAR----(varchar)----范围0~65535

这两种数据类型很相似,区别:

存储的方式不同检索的方式不同(CHAR类型的字符串检索速度要比VARCHAR 类型快。)是否尾部空格被保留不同(在字符串检索的时候,CHAR 会去掉尾部的空格)最大长度不同:

char类型是定长类型,即一但定义便固定了,定义长度的范围是:0~255

varchar类型是一种可变长字符串类型,范围在0~65535

3.2.TEXT类型

TINYTEXT----(tinytext)----范围0~255TEXT----(text)----范围0~65535MEDIUMTEXT----(mediumtext)----范围0~16777215LONGTEXT----(longtext)----范围0~4294967295

TEXT以文本方式存储,上述4种TEXT类型的区别在于可容纳的存储范围不同,我们根据实际情况选择适合的类型。

3.3.BLOB类型

TINYBLOB----(tinyblob)----范围0~255BLOB----(blob)----范围0~65535MEDIUMBLOB----(mediumblob)----范围0~16777215LONGBLOB----(longblob)----范围0~4294967295

BLOB是一个二进制大对象,以二进制方式存储,可容纳可变数量的数据。

3.4.BINARY类型

BINARY----(binary(M))----范围:0~M字节VARBINARY----(varbinary(M))----范围:0~M字节

注:BINARYVARBINARYCHARVARCHAR有点类似,区别在于BINARYVARBINARY只包含二进制字符串,而且定义范围时,它们定义的是字节长度,而CHARVARCHAR则定义字符长度

4.日期和时间类型

4.1.DATE类型

DATE----(date)----范围1000-01-01 ~ 9999-12-31

当我们想表示年月日时,可以使用DATE类型,其字节数为3

4.2.TIME类型

TIME----(time)----范围'-838:59:59' ~ '838:59:59'

当我们想表示时分秒时,可以使用TIME类型,其字节数为3

4.3.DATETIME类型

DATETIME----(datetime)----范围1000-01-01 00:00:00 ~ 9999-12-31 23:59:59

当我们想表示年月日时分秒时,可以使用DATETIME类型,其字节数为8

4.4.TIMESTAMP类型

TIMESTAMP----(timestamp)----范围1970-01-01 00:00:00 ~ 2038-1-19 11:14:07

当我们想表示当前时间,可以使用TIMESTAMP类型,其字节数为4

4.5.YEAR类型

YEAR----(year)----范围1901 ~ 2155

当我们只想表示年份,可以使用YEAR类型,其字节数为1

5.小结

好了,常用的SQL数据类型就看到这。

最后来张思维导图梳理一下:

如果觉得《【MySQL从入门到精通】:SQL的数据类型》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。