138 张图带你 MySQL 入门(4)

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 138 张图带你 MySQL 入门(4)

DCL 语句


DCL 语句主要是管理数据库权限的时候使用,这类操作一般是 DBA 使用的,开发人员不会使用 DCL 语句。


关于帮助文档的使用


我们一般使用 MySQL 遇到不会的或者有疑问的东西经常要去查阅网上资料,甚至可能需要去查 MySQL 官发文档,这样会耗费大量的时间和精力。


下面教你一下在 MySQL 命令行就能直接查询资料的语句


按照层次查询


可以使用 ? contents 来查询所有可供查询的分类,如下所示


? contents;


image.png


我们输入


? Account Management


可以查询具体关于权限管理的命令


image.png


比如我们想了解一下数据类型


? Data Types


image.png


然后我们想了解一下 VARCHAR 的基本定义,可以直接使用


? VARCHAR


image.png


可以看到有关于 VARCHAR 数据类型的详细信息,然后在最下面还有 MySQL 的官方文档,方便我们快速查阅。


快速查阅


在实际应用过程中,如果要快速查询某个语法时,可以使用关键字进行快速查询,比如我们使用


? show


image.png


能够快速列出一些命令


比如我们想要查阅 database 的信息,使用


SHOW CREATE DATABASE cxuandb;


image.png


MySQL 数据类型


MySQL 提供很多种数据类型来对不同的常量、变量进行区分,MySQL 中的数据类型主要是 「数值类型、日期和时间类型、字符串类型」 选择合适的数据类型进行数据的存储非常重要,在实际开发过程中,选择合适的数据类型也能够提高 SQL 性能,所以有必要认识一下这些数据类型。


数值类型


MySQL 支持所有标准的 SQL 数据类型,这些数据类型包括严格数据类型的严格数值类型,这些数据类型有


  • INTEGER
  • SMALLINT
  • DECIMAL
  • NUMERIC。


近似数值数据类型 并不用严格按照指定的数据类型进行存储,这些有


  • FLOAT
  • REAL
  • DOUBLE PRECISION


还有经过扩展之后的数据类型,它们是


  • TINYINT
  • MEDIUMINT
  • BIGINT
  • BIT


其中 INT 是 INTEGER 的缩写,DEC 是 DECIMAL 的缩写。


下面是所有数据类型的汇总


image.png


整数


在整数类型中,按照取值范围和存储方式的不同,分为


image.png


  • TINYINT ,占用 1 字节
  • SMALLINT,占用 2 字节
  • MEDIUMINT,占用 3 字节
  • INT、INTEGER,占用 4 字节
  • BIGINT,占用 8 字节


五个数据类型,如果超出类型范围的操作,会发生错误提示,所以选择合适的数据类型非常重要。


还记得我们上面的建表语句么


我们一般会在 SQL 语句的数据类型后面加上指定长度来表示数据类型许可的范围,例如


int(7)


表示 int 类型的数据最大长度为 7,如果填充不满的话会自动填满,如果不指定 int 数据类型的长度的话,默认是 int(11)


我们创建一张表来演示一下


create table test1(aId int, bId int(5));
/* 然后我们查看一下表结构 */
desc test1;


image.png


整数类型一般配合 zerofill 来使用,顾名思义,就是用 0 进行填充,也就是数字位数不够的空间使用 0 进行填充。


分别修改 test1 表中的两个字段


alter table test1 modify aId int zerofill;
alter table test1 modify bId int(5) zerofill;


然后插入两条数据,执行查询操作


image.png


如上图所示,使用zerofill 可以在数字前面使用 0 来进行填充,那么如果宽度超过指定长度后会如何显示?我们来试验一下,向 aId 和 bId 分别插入超过字符限制的数字


image.png


会发现,aId 已经插进去了,bId 也插进去了,为什么 bId 显示的是 int(5) 却能够插入 7 位长度的数值呢?


所有的整数都有一个可选属性 UNSIGNED(无符号),如果需要在字段里面保存非负数或者是需要较大上限值时,可以使用此选项,它的取值范围是正常值的下限取 0 ,上限取原值的 2 倍。如果一个列为 zerofill ,会自动为该列添加 UNSIGNED 属性。


除此之外,整数还有一个类型就是 AUTO_INCREMENT,在需要产生唯一标识符或者顺序值时,可利用此属性,这个属性只用于整数字符。一个表中最多只有一个

AUTO_INCREMENT 属性,一般用于自增主键,而且 NOT NULL,并且是 PRIMARY KEYUNIQUE 的,主键必须保证唯一性而且不为空。






相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2月前
|
安全 关系型数据库 MySQL
PHP与MySQL交互:从入门到实践
【9月更文挑战第20天】在数字时代的浪潮中,掌握PHP与MySQL的互动成为了开发动态网站和应用程序的关键。本文将通过简明的语言和实例,引导你理解PHP如何与MySQL数据库进行对话,开启你的编程之旅。我们将从连接数据库开始,逐步深入到执行查询、处理结果,以及应对常见的挑战。无论你是初学者还是希望提升技能的开发者,这篇文章都将为你提供实用的知识和技巧。让我们一起探索PHP与MySQL交互的世界,解锁数据的力量!
|
6月前
|
存储 监控 关系型数据库
轻松入门Mysql:MySQL性能优化与监控,解锁进销存系统的潜力(23)
轻松入门Mysql:MySQL性能优化与监控,解锁进销存系统的潜力(23)
126 0
|
6月前
|
SQL 数据可视化 关系型数据库
轻松入门MySQL:深入探究MySQL的ER模型,数据库设计的利器与挑战(22)
轻松入门MySQL:深入探究MySQL的ER模型,数据库设计的利器与挑战(22)
582 0
|
6月前
|
存储 关系型数据库 MySQL
轻松入门MySQL:数据库设计之范式规范,优化企业管理系统效率(21)
轻松入门MySQL:数据库设计之范式规范,优化企业管理系统效率(21)
155 0
|
6月前
|
SQL 关系型数据库 MySQL
轻松入门MySQL:MySQL 备份与恢复,保护数据安全,提高工作效率(20)
轻松入门MySQL:MySQL 备份与恢复,保护数据安全,提高工作效率(20)
111 0
|
2月前
|
关系型数据库 MySQL 数据库
MySQL基本操作入门指南
MySQL基本操作入门指南
85 0
|
6月前
|
存储 关系型数据库 MySQL
MySQL基础入门:数据库操作全攻略
MySQL基础入门:数据库操作全攻略
159 0
|
2月前
|
SQL 关系型数据库 MySQL
MySQL入门到精通
MySQL入门到精通
|
4月前
|
SQL 关系型数据库 MySQL
「Python入门」python操作MySQL和SqlServer
**摘要:** 了解如何使用Python的pymysql模块与MySQL数据库交互。首先,通过`pip install pymysql`安装模块。pymysql提供与MySQL的连接功能,例如创建数据库连接、执行SQL查询。在设置好MySQL环境后,使用`pymysql.connect()`建立连接,并通过游标执行SQL(如用户登录验证)。注意防止SQL注入,使用参数化查询。增删改操作需调用`conn.commit()`来保存更改。pymssql模块类似,但导入和连接对象创建略有不同。
61 0
「Python入门」python操作MySQL和SqlServer
|
4月前
|
SQL 关系型数据库 MySQL
【MySQL从入门到精通】常用SQL语句分享
【MySQL从入门到精通】常用SQL语句分享
58 2