复习使用 MySQL(一)

环境

  • MySQL 5.7.13

MySQL 及衍生版本

  • MySQL
  • MariaDB
  • Percona Server

MySQL SQL 基础

  • DDL(Data Definition Language) - 数据定义

    • TRUNCATE - 清空
      • TRUNCATE TABLE Syntax - 清空数据表
    • RENAME - 重命名
      • RENAME TABLE Syntax - 重命名数据表
    • CREATE - 创建
      • CREATE VIEW Syntax - 创建视图
      • CREATE EVENT Syntax - 创建事件
      • CREATE INDEX Syntax - 创建索引
      • CREATE TABLE Syntax - 创建数据表
      • CREATE SERVER Syntax - 创建服务器
      • CREATE TRIGGER Syntax - 创建触发器
      • CREATE FUNCTION Syntax - 创建自定义函数
      • CREATE DATABASE Syntax - 创建数据库
      • CREATE PROCEDURE Syntax - 创建存储过程
      • CREATE TABLESPACE Syntax - 创建数据表空间
      • CREATE LOGFILE GROUP Syntax - 创建日志文件组
    • ALTER - 修改
      • ALTER VIEW Syntax - 修改视图
      • ALTER EVENT Syntax - 修改事件
      • ALTER TABLE Syntax - 修改数据表
      • ALTER SERVER Syntax - 修改服务器
      • ALTER DATABASE Syntax - 修改数据库
      • ALTER FUNCTION Syntax - 修改自定义函数
      • ALTER INSTANCE Syntax - 修改实例
      • ALTER PROCEDURE Syntax - 修改存储过程
      • ALTER TABLESPACE Syntax - 修改数据表空间
      • ALTER LOGFILE GROUP Syntax - 修改日志分组
    • DROP - 删除
      • DROP VIEW Syntax - 删除视图
      • DROP EVENT Syntax - 删除事件
      • DROP INDEX Syntax - 删除索引
      • DROP TABLE Syntax - 删除数据表
      • DROP SERVER Syntax - 删除服务器
      • DROP TRIGGER Syntax - 删除触发器
      • DROP DATABASE Syntax - 删除数据库
      • DROP FUNCTION Syntax - 删除自定义函数
      • DROP PROCEDURE Syntax - 删除存储过程
      • DROP TABLESPACE Syntax - 删除数据表空间
      • DROP LOGFILE GROUP Syntax - 删除日志分组
  • DML(Data Manipulation Language) - 数据操作

    • DO
    • CALL
    • HANDLER
    • LOAD XML
    • LOAD DATA INFILE
    • INSERT - 数据插入
    • DELETE - 数据删除
    • UPDATE - 数据修改
    • SELECT - 数据查询
      • JOIN - 连接
        • LEFT JOIN - 左连接
        • RIGHT JOIN - 右连接
        • INNER JOIN - 内连接
      • GROUP - 分组
      • UNION - 联合
    • REPLACE
    • Subquery - 子查询
    • LIMIT, OFFSET - 分页
  • DCL(Data Control Language) - 数据控制

    • GRANT - 授权
    • REVOKE - 撤销授权
  • Transactions and Lock - 事务

    • START TRANSACTION, COMMIT, and ROLLBACK Syntax - 事务开始,事务提交和事务回滚
    • Statements That Cannot Be Rolled Back - 不能执行回滚的语句
    • Statements That Cause an Implicit Commit - 隐式提交
    • SAVEPOINT, ROLLBACK TO SAVEPOINT, and RELEASE SAVEPOINT Syntax - 保存点,回滚到保存点,释放保存点
    • LOCK TABLES and UNLOCK TABLES Syntax - 锁表与解锁
    • SET TRANSACTION Syntax - 设置事务语法
    • XA Transactions - XA 事务
  • MySQL Utility Statements - MySQL 实用语句

    • USE Syntax - 设置当前 SQL 语句默认使用数据库
    • HELP Syntax - 从 MySQL 参考手册返回在线信息
    • EXPLAIN Syntax - 获取 SQL 执行信息
    • DESCRIBE Syntax - 获取表结构信息
  • Database Administration Statements - 数据库管理员语句

    • SET Syntax - 设置
      • SET NAMES Syntax
      • SET CHARACTER SET Syntax
      • SET Syntax for Variable Assignment
    • SHOW Syntax - 查看
      • SHOW BINARY LOGS Syntax - 显示二进制日志
      • SHOW BINLOG EVENTS Syntax - 显示二进制事件
      • SHOW CHARACTER SET Syntax - 显示字符集
      • SHOW COLLATION Syntax - 显示支持的字符
      • SHOW COLUMNS Syntax - 显示字段信息
      • SHOW CREATE DATABASE Syntax - 显示创建指定数据库的 SQL 语句
      • SHOW CREATE EVENT Syntax - 显示创建指定事件的 SQL 语句
      • SHOW CREATE FUNCTION Syntax - 显示创建指定自定义函数的 SQL 语句
      • SHOW CREATE PROCEDURE Syntax - 显示创建指定存储过程的 SQL 语句
      • SHOW CREATE TABLE Syntax - 显示创建指定表的 SQL 语句
      • SHOW CREATE TRIGGER Syntax - 显示创建指定触发器的 SQL 语句
      • SHOW CREATE USER Syntax - 显示创建指定用户的 SQL 语句
      • SHOW CREATE VIEW Syntax - 显示创建指定视图的 SQL 语句
      • SHOW DATABASES Syntax - 显示数据库列表
      • SHOW ENGINE Syntax - 显示引擎的操作信息
      • SHOW ENGINES Syntax - 显示支持的引擎
      • SHOW ERRORS Syntax - 显示错误
      • SHOW EVENTS Syntax - 显示事件
      • SHOW FUNCTION CODE Syntax - 显示自定义函数代码
      • SHOW FUNCTION STATUS Syntax - 显示自定义函数状态
      • SHOW GRANTS Syntax
      • SHOW INDEX Syntax - 显示索引
      • SHOW MASTER STATUS Syntax
      • SHOW OPEN TABLES Syntax
      • SHOW PLUGINS Syntax
      • SHOW PRIVILEGES Syntax - 显示当前用户权限
      • SHOW PROCEDURE CODE Syntax - 显示存储过程代码
      • SHOW PROCEDURE STATUS Syntax - 显示存储过程状态
      • SHOW PROCESSLIST Syntax
      • SHOW PROFILE Syntax - 显示配置文件
      • SHOW PROFILES Syntax - 显示配置文件列表
      • SHOW RELAYLOG EVENTS Syntax
      • SHOW SLAVE HOSTS Syntax - 查看附属主机
      • SHOW SLAVE STATUS Syntax - 查看附属主机状态
      • SHOW STATUS Syntax - 查看各种状态
      • SHOW TABLE STATUS Syntax - 显示指定数据库的所有表状态
      • SHOW TABLES Syntax - 显示指定数据库的所有表
      • SHOW TRIGGERS Syntax - 显示触发器
      • SHOW VARIABLES Syntax - 显示变量
      • SHOW WARNINGS Syntax - 显示警告
    • Table Maintenance Statements - 表维护语句
      • CHECK TABLE Syntax - 检查表
      • REPAIR TABLE Syntax - 修复表
      • ANALYZE TABLE Syntax - 分析表
      • OPTIMIZE TABLE Syntax - 优化表
      • CHECKSUM TABLE Syntax - 校检表
    • Account Management Statements - 账号管理语句
      • GRANT Syntax - 修复
      • REVOKE Syntax - 撤销
      • DROP USER Syntax - 删除用户
      • ALTER USER Syntax - 修改用户
      • CREATE USER Syntax - 创建用户
      • RENAME USER Syntax - 重命名用户
      • SET PASSWORD Syntax - 设置密码
    • Other Administrative Statements - 其他管理语句
    • Plugin and User-Defined Function Statements - 插件和用户定义的函数语句
  • 范式 & 反范式

    • 范式
      • 第一范式(1NF)
      • 第二范式(2NF)
      • 第三范式(3NF)
      • 巴斯-科德范式(BCNF)
      • 第四范式(4NF)
      • 第五范式(5NF,又称完美范式)
    • 反范式
      • 没有冗余的数据库未必是最好的数据库,有时为了提高运行效率,就必须降低范式标准,适当保留冗余数据。