概述
本章,您将学习 MySQL 当中的流程控制。流程控制用来实现条件判断和循环逻辑,主要用在 MySQL 的存储过程、存储函数、触发器中。
流程控制主要包括三类:
分支结构
循环结构
跳转控制
分支结构
if 函数
基本语法为:
if(表达式, 值1, 值2)
当表达式为真,则输出 值1,当表达式为假,则输出 值2
一个简单的例子:
sele...
概述
本章,您将学习 MySQL 当中的存储过程与存储函数。
函数:为了要实现某个功能,用代码块封装成对外暴露名称且可以被调用的一个基本构造单元。当使用者需要使用函数时,直接调用函数名称并传递参数即可,不用关心具体的代码实现。
存储例程(Stored Routine):MySQL 官方文档中,将存储过程和存储函数统一称为存储例程。
管理存储过程
存...
概述
本章,你将学习 MySQL 中有关变量的知识。
变量:变量是计算机内存中的一块区域,用于存储可变化的数据,并通过名称进行标识。
在 Bash 中,变量可划分为:
用户自定义变量 - 常用变量。变量的名称、变量的值、变量的类型都可以被改变。
环境变量 - 保存的是和系统操作环境相关的数据。默认环境变量的名称不能更改,但可修改其值。除了这些,用...
概述
本章,您将学习 MySQL 中的视图。
视图(View):MySQL 中的虚拟表,其内容由 DQL 组成。视图本身不实际存储数据,而是随一个或多个基础表(或视图)的查询结果动态生成数据。
视图的主要特性有:
虚拟性 - 不实际存储数据,仅保存定义视图的 SQL 查询语句
动态性 - 视图的数据会随基表数据的变化而自动更新。当基表中的数据被修...
概述
本章,您将学习 MySQL 中的 TCL(Transaction Control Language,事务控制语言)
TCL 的内容包括:
了解存储引擎
事务的特性(ACID)
事务分类
事务基础使用与特性控制
事务并发产生的问题
隔离级别
事务也涉及到底层的各种锁机制,但这部分的内容很多,需要单独再书写一章的内容。
事务(Transact...
概述
本章,您将学习 MySQL 中的空间数据类型。
如同 Redis 的 geospatial 数据类型一样(geospatial 是一种使用经纬度标识地理位置的数据类型),MySQL 也有类似存储地理位置信息的数据类型,被称为空间数据类型。
术语说明
地理特征:指地球上任何具有明确位置的事物,可分为以下三类:
实体 - 自然实体(山脉、湖...
概述
本章,您将学习 MySQL 的特殊数据类型 —— JSON 。
了解 JSON
JSON:一种轻量级的数据交换格式,被广泛应用于 Web 开发和数据传输领域。
数据交换格式:指不同计算机程序之间或编程语言之间用来交换数据时所使用的一种标准化格式。除了 JSON,还有 XML、YAML、CSV 等。
JSON 语法
基本语法规则:
数据始终以...
概述
本章,您将学习 MySQL 中有关 DDL 的知识。
DDL(Data Definition Language,数据定义语言),主要指的是定义库和表。
DDL 的内容包括:
管理库
管理表
数据类型
约束
字段的自增长
管理库
创建库
语法为:
create database 库名;
# 有时库比较多,也会添加条件判断,即如果库...
概述
本章,您将学习 MySQL 中有关 DML 的知识。
DML(Data Manipulation Language,数据操作语言),主要指的是 insert 、update、delete 这些相关的语句。
插入数据(insert)
在已有表的基础上插入新的数据,插入时需要注意:
插入的数据需要与字段个数对应
插入时,数据应该与字段的数据类型...
概述
本章,您将学习 MySQL 中有关 DQL 的知识。
在 MySQL 基础篇的整个知识架构中,DQL 的内容最多也最常使用,学习时应该重点掌握与训练。
DQL 主要包含以下内容:
条件查询
排序查询
函数
连接查询
嵌套查询
分页查询
联合查询
本文档是 DQL 内容的最后一章,即带读者学习嵌套查询、分页查询和联合查询。
嵌套查询
在不同...