MySQL的SQL分类与数据类型

MySQL是一款广泛使用的关系型数据库管理系统,开源、免费且跨平台,常用于存储、管理和检索结构化数据,并通过SQL语言支持高效的数据操作与管理。

文章目录

    • 何为SQL
    • SQL分类
      • DDL
      • DML
      • DCL
      • TCL
      • DQL
    • MySQL的数据类型
      • 数值型
      • 日期型
      • 字符串型
      • 二进制型
      • 其他类型

何为SQL

在MySQL中提到的“SQL”指的是“结构化查询语言”(Structured Query Language)。MySQL是一个关系型数据库管理系统(RDBMS),而SQL是用于与这种类型的数据库交互的标准语言。通过SQL,用户可以执行以下操作:数据定义、数据查询、数据操作、数据控制等操作。

在MySQL的上下文中,SQL是用户与MySQL数据库系统之间进行通信的关键工具,用于执行所有核心的数据库功能。MySQL实现了SQL标准,并在此基础上扩展了一些特定于MySQL的功能和语法。

SQL分类

SQL语句分为DQL、DML、DDL、DCL和TCL五大类。

DDL

数据定义语言(Data Definition Language,简称DDL):DDL用于定义数据库的结构,包括创建、修改和删除数据库、表、索引、视图等元素。常用的DDL语句包括CREATE、ALTER和DROP,也是我们常说的创建、删除、修改对象。

DML

数据操作语言(Data Manipulation Language,简称DML):DML用于对数据库中的数据进行操作,包括插入、更新和删除数据。常用的DML语句包括SELECT、INSERT、UPDATE和DELETE,通俗一点就是对数据的增删改查操作。

DCL

数据控制语言(Data Control Language,简称DCL):DCL用于控制数据库中数据的访问权限和数据完整性的约束,包括授权和回收权限、创建用户和角色等。常用的DCL语句包括GRANT和REVOKE。对用户的权限管理、事务管理,就需要用到数据控制语句。

TCL

事务控制语言(Transaction Control Language,简称TCL):TCL用于控制事务的提交和回滚,保证数据库的一致性和完整性。常用的TCL语句包括COMMIT和ROLLBACK。COMMIT和ROOLBACK都是需要特别注意风险控制的。

DQL

数据查询语言(Data Query Language,简称DQL):DQL用于从数据库中获取数据,进行数据的查询和检索。常用的DQL语句是SELECT。也是我使用最多的语句。

MySQL的数据类型

在MySQL中,常见的数据类型包括数值型、字符串型、二进制型、日期型和其他类型。

数值型

MySQL支持多种数值型数据类型,包括整数型、小数型和布尔型。

整数型
整数类型:如TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT等,用于存储整数值。

类型描述
TINYINT1字节,取值范围为-128到127或0到255。
SMALLINT2字节,取值范围为-32768到32767或0到65535。
MEDIUMINT3字节,取值范围为-8388608到8388607或0到16777215。
INT4字节,取值范围为-2147483648到2147483647或0到4294967295。
BIGINT8字节,取值范围为-9223372036854775808到9223372036854775807或0到18446744073709551615。

小数型
小数型:用于存储带有小数部分的数值。

类型描述
FLOAT4字节,单精度浮点数,精度为7位。
DOUBLE8字节,双精度浮点数,精度为15位。
DECIMAL可变长度,用于存储精确的小数,精度和数据长度可以自定义。

布尔型
MySQL支持布尔型数据类型,即BOOLEAN或BOOL。它只占用1位,取值为TRUE或FALSE。

日期型

类型描述
DATE用于存储日期,格式为YYYY-MM-DD。
TIME用于存储时间,格式为HH:MM:SS。
DATETIME用于存储日期时间,格式为YYYY-MM-DD HH:MM:SS。
TIMESTAMP用于存储时间戳,格式为YYYY-MM-DD HH:MM:SS。
YEAR用于存储年份,格式为YYYY。

字符串型

类型描述
CHAR用于存储固定长度的字符串,长度为0到255个字符。
VARCHAR用于存储可变长度的字符串,长度为0到65535个字符。
TEXT用于存储大量的文本数据,最大长度为65535个字符。
BLOB用于存储大量的二进制数据,最大长度为65535个字节。
ENUM用于存储枚举类型的数据,如性别、状态等。

二进制型

类型描述
BIT用于存储比特位,长度为1到64个比特位。
BINARY用于存储固定长度的二进制数据,长度为0到255个字节。
VARBINARY用于存储可变长度的二进制数据,长度为0到65535个字节。

其他类型

类型描述
SET用于存储一组可选值,最多可以有64个选项。
JSON用于存储JSON格式的数据。
Geometry用于存储几何类型的数据,如点、线、面等。

每种数据类型都有其特定的存储需求、占用空间大小和允许的操作。正确地为数据选择合适的数据类型是数据库设计关键点之一,为数据选择合适的数据类型有助于确保数据的准确性、完整性,并且有利于优化查询性能和存储效率。
在这里插入图片描述

MySQL作为广泛使用的开源关系型数据库管理系统,用户可以免费下载、使用和修改其源代码,可以在多种操作系统平台上运行,包括Windows、Linux、Mac OS等,所以适用于大多数Web应用、中小型项目以及部分大型项目,但针对特定的复杂业务场景或高度垂直化的行业需求,可能需要根据具体情况进行权衡和定制化调整。

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

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

相关文章

引领AI变革:边缘计算与自然语言处理结合的无尽可能

引言 讲到Ai,你第一时间会想到什么?是Chagpt和文心一言这样与人类交流自然的Ai生成式对话服务?还是根据关键字快速制图的Ai绘图?这些都是近年来人们所常知的Ai用途,我们今天来讲讲以自然语言处理为辅,在Ai赋…

我每天如何使用 ChatGPT

我们都清楚互联网的运作方式——充斥着各种“爆款观点”,极端分裂的意见,恶搞和无知现象屡见不鲜。 最近,大家对于人工智能(AI)特别是大语言模型(LLMs)和生成式 AI(GenAI&#xff0…

Redis: Redis介绍

文章目录 一、redis介绍二、通用的命令三、数据结构1、字符串类型(String)(1)介绍(2)常用命令(3)数据结构 2、列表(List)(1)介绍&…

【数据结构】链表的分类和双向链表

本篇是基于上篇单链表所作,推荐与上篇配合阅读,效果更加 http://t.csdnimg.cn/UhXEj 1.链表的分类 链表的结构非常多样,以下情况组合起来就有8种(2 x 2 x 2)链表结构: 我们一般叫这个头为哨兵位 我们上回…

三星S24未破智能手机藩篱,AI Phone继续期待黑马

匆忙离开深圳机场的时候,《智物》遇到几位熟悉的老朋友。习惯了在中国市场边缘生存的,全球第一代智能手机企业三星公司,刚刚在此地录制完了新旗舰手机三星S24系列的发布会视频。 贵为全球第一大智能手机品牌的三星发布会居然不是直播。韩式套…

【嵌入式学习】C++QT-Day2-C++基础

笔记 见我的博客:https://lingjun.life/wiki/EmbeddedNote/19Cpp 作业 自己封装一个矩形类(Rect),拥有私有属性:宽度(width)、高度(height), 定义公有成员函数: 初始化函数:void init(int w, int h) 更改宽度的函数:set_w(int w) 更改高度…

PowerBI商业智能分析引入,带你了解什么是商务智能

一、商务智能工具 什么是Power BI ?Power Bl是微软开发的一个软件,它是从获取数据、数据清洗、数据图表搭建、数据分析、共享发布为一体的软件,无论你的数据是简单的Excel电子表格,还是复杂庞大的数据库,Power Bl都可…

Linux-共享内存

文章目录 前言一、system V共享内存申请共享内存挂载共享内存删除共享内存挂载删除共享内存 二、示例代码三.运行效果 前言 在这之前我们已经学习了两种进程间通信方式:匿名管道和命名管道。 从我们之前的学习已经知道,想让多个进程间进行通信就需要让他…

sql管理工具archery简介

在平时的工作过程中,我们肯定会遇到使用sql平台的场景,业内也有很多工具,类似阿里云的dms,但是这个是和云厂商绑定的,我们可能一般没有用到阿里云组件就比较困难了,那还有什么选项了,经过调研&a…

创建第一个 Spring 项目(IDEA社区版)

文章目录 创建 Spring 项目创建一个普通的 Maven 项目添加 Spring 依赖IDEA更换国内源 运行第一个 Spring 项目新建启动类存储 Bean 对象将Bean注册到Spring 获取并使用 Bean 对象 创建 Spring 项目 创建一个普通的 Maven 项目 首先创建一个普通的 Maven 项目 添加 Spring 依…

Windows11 Copilot助手开启教程(免费GPT-4)

Windows11上开启Copilot助手教程踩坑指南 Copilot介绍Copilot开启步骤1、更新系统2、更改语言和区域3、下载 ViVeTool 工具4、开启Copilot 使用 Copilot介绍 Windows Copilot 是 Windows 11 中的一个新功能,它可以让你与一个智能助理进行对话,获取信息&…

05-Seata下SQL使用限制

不支持 SQL 嵌套不支持多表复杂 SQL(自1.6.0版本,MySQL支持UPDATE JOIN语句,详情请看不支持存储过程、触发器部分数据库不支持批量更新,在使用 MySQL、Mariadb、PostgreSQL9.6作为数据库时支持批量,批量更新方式如下以 Java 为例 …

k8s架构、工作流程、集群组件详解

目录 k8s概述 特性 作用(为什么使用) k8s架构 k8s工作流程 k8s集群架构与组件 核心组件详解 Master节点 Kube-apiserver Kube-controller-manager Kube-scheduler 存储中心 etcd Node Kubelet Kube-Proxy 网络通信模型 容器引擎 k8s核…

Java-NIO篇章(5)——Reactor反应器模式

前面已经讲过了Java-NIO中的三大核心组件Selector、Channel、Buffer,现在组件我们回了,但是如何实现一个超级高并发的socket网络通信程序呢?假设,我们只有一台内存为32G的Intel-i710八核的机器,如何实现同时2万个客户端…

http接口测试—自动化测试框架设计

一、测试需求描述 对服务后台一系列的http接口功能测试。 输入:根据接口描述构造不同的参数输入值(Json格式) 输出:字符串(传入的方式传入的字符串) http://localhost:8090/lctest/TestServer 二、程序设计…

C4.5决策树的基本建模流程

C4.5决策树的基本建模流程 作为ID3算法的升级版,C4.5在三个方面对ID3进行了优化: (1)它引入了信息值(information value)的概念来修正信息熵的计算结果,以抑制ID3更偏向于选择具有更多分类水平…

SpringCloud Aliba-Seata【下】-从入门到学废【8】

目录 1.数据库创建 1.seata_account库下建表 2.seata_order库下建表 3.seata_storage库下建表 4.在每个库下创建回滚日志 2.创建订单模块 2.1建工程 2.2加pom 2.3改yml 2.4file.conf 2.5registry.conf 2.6domain 2.7Dao 2.8Service 2.9controller 2.10confi…

BGP路由反射-数据中心IDC项目经验

一、背景描述 R1,R2,R3在AS200区域内,R1和R2,R1和R3建立OSPF,宣告接口互联. AS200区域内,R1和R2建立IBGP, R1和R3建立IBGP R2和R4建立EBGP, R3和R5建立EBGP。 网络拓扑: 二、故障现象 R1和R2可以收到来自AS100区域R4的E…

pytorch实战-6手写数字加法机-迁移学习

1 概述 迁移学习概念:将已经训练好的识别某些信息的网络拿去经过训练识别另外不同类别的信息 优越性:提高了训练模型利用率,解决了数据缺失的问题(对于新的预测场景,不需要大量的数据,只需要少量数据即可…

Unity通用渲染管线升级URP、HDRP

Unity通用渲染管线升级URP、HDRP 一、Build-in Pipline升级到 URP 一、Build-in Pipline升级到 URP 安装URP包 升级所有材质(升级完成后材质会变成紫红色,Shader丢失,此为正常现象) 创建 UniversalRenderPipelineAsset 配置文…