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中常见的数据类型,包括数值型、字符串型、二进制型、日期型和其他类型(如空间数据类型),每种数据类型的用途、存储方式和取值范围都在文中详细说明。

相关推荐
百***92021 小时前
【MySQL】MySQL库的操作
android·数据库·mysql
q***76661 小时前
Spring Boot 从 2.7.x 升级到 3.3注意事项
数据库·hive·spring boot
信仰_2739932431 小时前
Redis红锁
数据库·redis·缓存
人间打气筒(Ada)1 小时前
Centos7 搭建hadoop2.7.2、hbase伪分布式集群
数据库·分布式·hbase
心灵宝贝1 小时前
如何在 Mac 上安装 MySQL 8.0.20.dmg(从下载到使用全流程)
数据库·mysql·macos
奋斗的牛马2 小时前
OFDM理解
网络·数据库·单片机·嵌入式硬件·fpga开发·信息与通信
忧郁的橙子.3 小时前
一、Rabbit MQ 初级
服务器·网络·数据库
杰杰7983 小时前
SQL 实战:用户访问 → 下单 → 支付全流程转化率分析
数据库·sql
爬山算法3 小时前
Redis(120)Redis的常见错误如何处理?
数据库·redis·缓存
野生技术架构师4 小时前
盘一盘Redis的底层数据结构
数据结构·数据库·redis