SQL分类与数据类型整理

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/754.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于深度学习算法的AI图像视觉检测

基于人工智能和深度学习方法的现代计算机视觉技术在过去10年里取得了显著进展。如今,它被广泛用于图像分类、人脸识别、图像中物体的识别等。那么什么是深度学习?深度学习是如何应用在视觉检测上的呢? 什么是深度学习? 深度学习是…

30_Redis哨兵模式

在Redis主从复制模式中,因为系统不具备自动恢复的功能,所以当主服务器(master)宕机后,需要手动把一台从服务器(slave)切换为主服务器。在这个过程中,不仅需要人为干预,而且还会造成一段时间内服务器处于不可用状态,同时数据安全性也得不到保障,因此主从模式的可用性…

计算机网络 笔记 网络层1

网络层功能概述 主要的任务是把分组从源端传输到目的端,为分组交换网上的不同主句提供通信服务,网络层的传输单位是数据报。 主要的功能; 1,路由选择:路由选择指网络层根据特定算法,为数据包从源节点到目…

解决计算机管理无法连接远程电脑

症状 有时,我们会想用计算机管理(Computer Management)连接到一台远程Windows服务器,因为我们不想直接登录到远程服务器上操作。 然而,绝大多数情况下,如果你初次尝试连接,会得到如下的错误。 …

【Uniapp-Vue3】Prop校验与prop默认值用法及循环遍历数组对象

一、prop校验 如果我们在想要限制prop的类型,就可以在接收prop的时候对接收类型进行限制: defineProps({ 属性名:{ type:类型 } }) 需要注意类型的首字母大写 但是设置了传入参数类型限制并不能严格限制,只会在后台进行提示: 二、…

解决WordPress出现Fatal error: Uncaught TypeError: ftp_nlist()致命问题

错误背景 WordPress版本:wordpress-6.6.2-zh_CN WooCommerce版本:woocommerce.9.5.1 WordPress在安装了WooCommerce插件后,安装的过程中没有问题,在安装完成后提示: 此站点遇到了致命错误,请查看您站点管理…

qt-C++笔记之自定义继承类初始化时涉及到parents的初始化

qt-C笔记之自定义继承类初始化时涉及到parents的初始化 code review! 参考笔记 1.qt-C笔记之父类窗口、父类控件、对象树的关系 2.qt-C笔记之继承自 QWidget和继承自QObject 并通过 getWidget() 显示窗口或控件时的区别和原理 3.qt-C笔记之自定义类继承自 QObject 与 QWidget …

ElasticSearch | Elasticsearch与Kibana页面查询语句实践

关注:CodingTechWork 引言 在当今大数据应用中,Elasticsearch(简称 ES)以其高效的全文检索、分布式处理能力和灵活的查询语法,广泛应用于各类日志分析、用户行为分析以及实时数据查询等场景。通过 ES,用户…

Java聊天小程序

拟设计一个基于 Java 技术的局域网在线聊天系统,实现客户端与服务器之间的实时通信。系统分为客户端和服务器端两类,客户端用于发送和接收消息,服务器端负责接收客户端请求并处理消息。客户端通过图形界面提供用户友好的操作界面,服务器端监听多个客户端的连接并管理消息通…

【Redis学习 | 第5篇】Redis缓存 —— 缓存的概念 + 缓存穿透 + 缓存雪崩 + 缓存击穿

文章目录 完成任务1. 什么是缓存2. 添加商户缓存3. 缓存更新策略3.1 主动更新 4. 缓存穿透5. 缓存雪崩6. 缓存击穿6.1 使用互斥锁查询商铺信息6.2 使用逻辑过期查询商铺信息 7. 封装 Redis 工具类 完成任务 1. 什么是缓存 缓存:数据交换的缓冲区(Cache…

单元测试概述入门

引入 什么是测试?测试的阶段划分? 测试方法有哪些? 1.什么是单元测试? 单元测试:就是针对最小的功能单元(方法),编写测试代码对其正确性进行测试。 2.为什么要引入单元测试&#x…

微服务的配置共享

1.什么是微服务的配置共享 微服务架构中,配置共享是一个重要环节,它有助于提升服务间的协同效率和数据一致性。以下是对微服务配置共享的详细阐述: 1.1.配置共享的概念 配置共享是指在微服务架构中,将某些通用或全局的配置信息…

基于改进粒子群优化的无人机最优能耗路径规划

目录 1. Introduction2. Preliminaries2.1. Particle Swarm Optimization Algorithm2.2. Deep Deterministic Policy Gradient2.3. Calculation of the Total Output Power of the Quadcopter Battery 3.OptimalEnergyConsumptionPathPlanningBasedonPSO-DDPG3.1.ProblemModell…

HQChart使用教程30-K线图如何对接第3方数据44-DRAWPIE数据结构

HQChart使用教程30-K线图如何对接第3方数据44-DRAWPIE数据结构 效果图DRAWPIEHQChart代码地址后台数据对接说明示例数据数据结构说明效果图 DRAWPIE DRAWPIE是hqchart插件独有的绘制饼图函数,可以通过麦语法脚本来绘制一个简单的饼图数据。 饼图显示的位置固定在右上角。 下…

Wi-Fi Direct (P2P)原理及功能介绍

目录 Wi-Fi Direct (P2P)介绍Wi-Fi Direct P2P 概述P2P-GO(P2P Group Owner)工作流程 wifi-Direct使用windows11 wifi-directOpenwrtwifi的concurrent mode Linux环境下的配置工具必联wifi芯片P2P支持REF Wi-Fi Direct &#xff…

树莓派-5-GPIO的应用实验之GPIO的编码方式和SDK介绍

文章目录 1 GPIO编码方式1.1 管脚信息1.2 使用场合1.3 I2C总线1.4 SPI总线2 RPI.GPIO2.1 PWM脉冲宽度调制2.2 静态函数2.2.1 函数setmode()2.2.2 函数setup()2.2.3 函数output()2.2.4 函数input()2.2.5 捕捉引脚的电平改变2.2.5.1 函数wait_for_edge()2.2.5.2 函数event_detect…

【数据库】四、数据库管理与维护

文章目录 四、数据库管理与维护1 安全性管理2 事务概述3 并发控制4 备份与恢复管理 四、数据库管理与维护 1 安全性管理 安全性管理是指保护数据库,以避免非法用户进行窃取数据、篡改数据、删除数据和破坏数据库结构等操作 三个级别认证: 服务器级别…

Observability:将 OpenTelemetry 添加到你的 Flask 应用程序

作者:来自 Elastic jessgarson 待办事项列表可以帮助管理与假期计划相关的所有购物和任务。使用 Flask,你可以轻松创建待办事项列表应用程序,并使用 Elastic 作为遥测后端,通过 OpenTelemetry 对其进行监控。 Flask 是一个轻量级…

Python双指针

双指针 双指针:在区间操作时,利用两个下标同时遍历,进行高效操作 双指针利用区间性质可以把 O ( n 2 ) O(n^2) O(n2) 时间降低到 O ( n ) O(n) O(n) 反向扫描 反向扫描: l e f t left left 起点,不断往右走&…

python无需验证码免登录12306抢票 --selenium(2)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 [TOC](python无需验证码免登录12306抢票 --selenium(2)) 前言 提示:这里可以添加本文要记录的大概内容: 就在刚刚我抢的票:2025年1月8日…