RDS for MySQL的SQL分类与数据类型

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 小明需在MySQL中管理商品信息,使用SQL完成业务操作。SQL分为DQL(查询)、DML(增删改)、DDL(定义)、DCL(权限控制)和TCL(事务)五大类。DDL用于创建、修改和删除数据库结构,DML处理数据,DCL控制权限,TCL管理事务,DQL则用于查询数据。MySQL有多种数据类型,如数值型(整数、小数)、日期型和字符串型等,选择合适的数据类型是高效开发的关键。

案例背景

业务方要上线一批商品,将商品信息数据存储在MySQL数据库中进行管理、查询和分析,小明需要使用SQL(Structured Query Language)完成业务要求的操作。

RDS for MySQL的SQL分类与数据类型

老王:你已经在DMS上连接RDS for MySQL,还做过增删改查,商品信息数据放RDS for MySQL上管理就可以啦。

小明:是的,但我是按照你给的SQL复制粘贴,对于SQL的含义并不是很清楚。

老王:SQL(发音为字母S-Q-L或sequel)的英文全称为Structured Query Language,SQL用来和数据库打交道,完成和数据库的通信。SQL是一套标准,但是每一个数据库都有自己的特性,当使用与这个数据库特性相关的功能,这时SQL语句可能就不是标准了,但是百分之九十以上的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。

DQL

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

小明:明白了!DDL主要是用来定义表的结构,比如创建、修改和删除数据库对象,而DML则是用来处理数据库中的实际数据的操作语言。那接下来,我是不是就可以建库、建表、写数据了?

老王:俗话说,磨刀不误砍柴工!学习建表之前,还需要掌握数据类型,MySQL具有丰富的数据类型,这些不需要你都记住,但是都要理解,在建表的时候选择合适的数据类型

RDS for MySQL的数据类型

老王:数据类型是用来定义数据库中存储数据的格式和属性的规范。不同的数据类型决定了数据在数据库中的存储方式、占用空间以及可以进行的操作。在MySQL中,常见的数据类型包括数值型、字符串型、二进制型、日期型和其他类型。

小明:明白了!数据类型是用来定义数据的格式和属性,比如整数、小数、字符串等。

数值型

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

整数型

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:4字节,单精度浮点数,精度为7位。

DOUBLE:8字节,双精度浮点数,精度为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支持多种数据类型,可以根据不同的需求选择合适的数据类型。掌握MySQL的数据类型,对于开发人员来说非常重要,可以提高开发效率,减少错误。

小明:我大概理解了每种类型的使用场景,但是很多都没记住,尤其是取值范围。

老王:学习SQL的最佳方式就是练习,接下来开启建库、建表、读写数据吧!

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
5天前
|
SQL 关系型数据库 MySQL
mysql 简单的sql语句,入门级增删改查
介绍MySQL中的基本SQL语句,包括数据的增删改查操作,使用示例和简单的数据表进行演示。
mysql 简单的sql语句,入门级增删改查
|
18天前
|
存储 SQL 关系型数据库
【MySQL调优】如何进行MySQL调优?从参数、数据建模、索引、SQL语句等方向,三万字详细解读MySQL的性能优化方案(2024版)
MySQL调优主要分为三个步骤:监控报警、排查慢SQL、MySQL调优。 排查慢SQL:开启慢查询日志 、找出最慢的几条SQL、分析查询计划 。 MySQL调优: 基础优化:缓存优化、硬件优化、参数优化、定期清理垃圾、使用合适的存储引擎、读写分离、分库分表; 表设计优化:数据类型优化、冷热数据分表等。 索引优化:考虑索引失效的11个场景、遵循索引设计原则、连接查询优化、排序优化、深分页查询优化、覆盖索引、索引下推、用普通索引等。 SQL优化。
164 15
【MySQL调优】如何进行MySQL调优?从参数、数据建模、索引、SQL语句等方向,三万字详细解读MySQL的性能优化方案(2024版)
|
18天前
|
存储 SQL 关系型数据库
一篇文章搞懂MySQL的分库分表,从拆分场景、目标评估、拆分方案、不停机迁移、一致性补偿等方面详细阐述MySQL数据库的分库分表方案
MySQL如何进行分库分表、数据迁移?从相关概念、使用场景、拆分方式、分表字段选择、数据一致性校验等角度阐述MySQL数据库的分库分表方案。
一篇文章搞懂MySQL的分库分表,从拆分场景、目标评估、拆分方案、不停机迁移、一致性补偿等方面详细阐述MySQL数据库的分库分表方案
|
10天前
|
SQL 缓存 关系型数据库
揭秘MySQL一条SQL语句的执行流程
以上步骤共同构成了MySQL处理SQL语句的完整流程,理解这一流程有助于更有效地使用MySQL数据库,优化查询性能,及时解决可能出现的性能瓶颈问题。
27 7
|
10天前
|
关系型数据库 MySQL 数据库
MYSQL索引的分类与创建语法详解
理解并合理应用这些索引类型,能够有效提高MySQL数据库的性能和查询效率。每种索引类型都有其特定的优势,适当地使用它们可以为数据库操作带来显著的性能提升。
29 3
|
16天前
|
SQL 监控 关系型数据库
MySQL数据库中如何检查一条SQL语句是否被回滚
检查MySQL中的SQL语句是否被回滚需要综合使用日志分析、事务状态监控和事务控制语句。理解和应用这些工具和命令,可以有效地管理和验证数据库事务的执行情况,确保数据的一致性和系统的稳定性。此外,熟悉事务的ACID属性和正确设置事务隔离级别对于预防数据问题和解决事务冲突同样重要。
29 2
|
2天前
|
SQL 存储 缓存
MySQL 是怎么执行 SQL 语句的?
MySQL 是怎么执行 SQL 语句的?
6 0
|
5天前
|
关系型数据库 MySQL 网络安全
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")

热门文章

最新文章