SQL分类与数据类型整理
- SQL分类
- 数据类型
- 数值型
- 整数型
- 小数型
- 布尔型
- 字符串型
- 日期型
- 二进制型
- 其他类型(空间数据类型)
- 总结
SQL,全称为Structured Query Language(结构化查询语言),是一种高度专业化的计算机语言,专门用于对关系型数据库系统(RDBMS)进行精确的数据查询、更新、管理和控制。作为一种标准化的语言,SQL为数据库管理员和开发人员提供了一种高效、一致的接口,以便在复杂的数据库环境中进行精确的数据操作和管理。
SQL分类
SQL语句分为DQL、DML、DDL、DCL和TCL五大类
那么关于SQL的这五大类的详细介绍,下面逐个说明:
数据定义语言(Data Definition Language,简称DDL):DDL用于定义数据库的结构,包括创建、修改和删除数据库、表、索引、视图等元素。常用的DDL语句包括CREATE、ALTER和DROP。
数据操作语言(Data Manipulation Language,简称DML):DML用于对数据库中的数据进行操作,包括插入、更新和删除数据。常用的DML语句包括INSERT、UPDATE和DELETE。
数据控制语言(Data Control Language,简称DCL):DCL用于控制数据库中数据的访问权限和数据完整性的约束,包括授权和回收权限、创建用户和角色等。常用的DCL语句包括GRANT和REVOKE。
事务控制语言(Transaction Control Language,简称TCL):TCL用于控制事务的提交和回滚,保证数据库的一致性和完整性。常用的TCL语句包括COMMIT和ROLLBACK。
数据查询语言(Data Query Language,简称DQL):DQL用于从数据库中获取数据,进行数据的查询和检索。常用的DQL语句是SELECT。
数据类型
数据类型是用来定义数据库中存储数据的格式和属性的规范。不同的数据类型决定了数据在数据库中的存储方式、占用空间以及可以进行的操作。在MySQL中,常见的数据类型包括数值型、字符串型、二进制型、日期型和其他类型。
数值型
MySQL支持多种数值型数据类型:包括整数型、小数型和布尔型。
整数型
整数型包括:TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT。
TINYINT:1字节,取值范围为-128到127或0到255。
SMALLINT:2字节,取值范围为-32768到32767或0到65535。
MEDIUMINT:3字节,取值范围为-8388608到8388607或0到16777215。
INT:4字节,取值范围为-2147483648到2147483647或0到4294967295。
BIGINT:8字节,取值范围为-9223372036854775808到9223372036854775807或0到18446744073709551615。
小数型
小数型包括:FLOAT、DOUBLE、DECIMAL。
FLOAT:4字节,单精度浮点数,精度为7位。
DOUBLE:8字节,双精度浮点数,精度为15位。
DECIMAL:可变长度,用于存储精确的小数,精度和数据长度可以自定义。
布尔型
Mysql布尔型数据类型,这里有的文档是这样说的,BOOLEAN或BOOL。它只占用1位,取值为TRUE或FALSE。有的文档并没有提及布尔型数据类型。有的文档则说Mysql没有专门的布尔型数据类型。这里存疑,记录在这里大家自行判断。
字符串型
字符串型数据类型包括:CHAR、VARCHAR、TEXT(TINYTEXT、MEDIUMTEXT、LONGTEXT)、BLOB(TINYBLOB、MEDIUMBLOB、LONGBLOB)、ENUM、SET。
CHAR:用于存储固定长度的字符串,长度为0到255个字符。
VARCHAR:用于存储可变长度的字符串,长度为0到65535个字符。
TEXT:用于存储大量的文本数据,最大长度为65535个字符。
BLOB:用于存储大量的二进制数据,最大长度为65535个字节。
TINYBLOB:用于存储不超过 255 个字符的二进制字符串,长度为0到255个字节。
TINYTEXT:用于存储短文本字符串,长度为0到255个字符。
MEDIUMBLOB:用于存储二进制形式的中等长度文本数据,长度为0到16 777 215字节。
MEDIUMTEXT:用于存储中等长度文本数据,长度为0到16 777 215字符。
LONGBLOB:用于存储二进制形式的极大文本数据,长度为0到4 294 967 295字节。
LONGTEXT:用于存储极大文本数据,长度为 0到4 294 967 295字符。
以下两个也可以归于其他类型。
ENUM:用于存储枚举类型的数据,如性别、状态等。
SET: 集合类型,用于存储多个值,可以选择多个预定义的集合。
日期型
日期型数据类型包括:DATE、TIME 、DATETIME 、 TIMESTAMP、 YEAR。
DATE:用于存储日期,格式为YYYY-MM-DD。
TIME:用于存储时间,格式为HH:MM:SS。
DATETIME:用于存储日期时间,格式为YYYY-MM-DD HH:MM:SS。
TIMESTAMP:用于存储时间戳,格式为YYYY-MM-DD HH:MM:SS。
YEAR:用于存储年份,格式为YYYY。
二进制型
二进制型数据类型包括:BIT、 BINARY、 VARBINARY。
BIT:用于存储比特位,长度为1到64个比特位。
BINARY:用于存储固定长度的二进制数据,长度为0到255个字节。
VARBINARY:用于存储可变长度的二进制数据,长度为0到65535个字节。
其他类型(空间数据类型)
其他数据类型也就是空降数据类型,包括:GEOMETRY, POINT, LINESTRING, POLYGON, MULTIPOINT, MULTILINESTRING, MULTIPOLYGON, GEOMETRYCOLLECTION。 用于存储空间数据(地理信息、几何图形等)。
总结
总的来说,关于SQL的分类及其在关系型数据库管理中的应用,主要涉及SQL的五大类:数据定义语言(DDL)、数据操作语言(DML)、数据控制语言(DCL)、事务控制语言(TCL)和数据查询语言(DQL)。而关于MySQL中常见的数据类型,包括数值型、字符串型、二进制型、日期型和其他类型(如空间数据类型),每种数据类型的用途、存储方式和取值范围都在文中详细说明。