MySQL Basics

本 MySQL 基础知识部分将教您如何使用 SQL 语句来管理 MySQL 中的数据。它将为您提供有效使用 MySQL 所需了解的一切。

第 1 节. 查询数据

  • SELECT FROM – 展示如何使用简单的SELECT FROM语句从单个表中查询数据。
  • SELECT – 了解如何在不引用表的情况下使用SELECT语句。

第 2 节. 数据排序

  • ORDER BY – 展示如何使用ORDER BY子句对结果集进行排序。还将涵盖具有FIELD功能的自定义排序顺序。

第 3 节. 过滤数据

  • WHERE – 了解如何使用WHERE子句根据指定条件过滤行。
  • SELECT DISTINCT – 展示如何在SELECT语句中使用DISTINCT运算符来消除结果集中的重复行。
  • AND – 向您介绍AND运算符,用于组合布尔表达式以形成用于过滤数据的复杂条件。
  • OR – 向您介绍OR运算符,并向您展示如何将OR运算符与AND运算符结合起来来过滤数据。
  • IN – 展示如何在WHERE子句中使用IN运算符来确定某个值是否与集合中的任何值匹配。
  • NOT IN – 使用 NOT 运算符对 IN 运算符求反,以检查某个值是否与集合中的任何值都不匹配。
  • BETWEEN – 展示如何使用BETWEEN运算符基于范围查询数据。
  • LIKE – 为您提供基于模式查询数据的技术。
  • LIMIT – 使用LIMIT限制SELECT语句返回的行数
  • IS NULL – 使用IS NULL运算符测试值是否为NULL

第 4 节:连接表

  • 表和列别名– 向您介绍表和列别名。
  • 连接– 概述 MySQL 支持的连接,包括内连接、左连接和右连接。
  • INNER JOIN – 查询一个表中的行,该表在另一个表中具有匹配的行。
  • LEFT JOIN – 返回左表中的所有行以及右表中的匹配行;如果在右表中未找到匹配行,则返回 null。
  • RIGHT JOIN – 返回右表中的所有行以及左表中的匹配行;如果在左表中未找到匹配行,则返回 null。
  • CROSS JOIN – 对多个表中的行进行笛卡尔积。
  • 自连接– 使用表别名将表与其自身连接,并使用内连接和左连接连接同一表中的行。

第 5 节. 数据分组

  • GROUP BY – 展示如何根据列或表达式将行分组。
  • HAVING – 按特定条件过滤组。
  • ROLLUP – 考虑GROUP BY子句中指定的列之间的层次结构,生成多个分组集。

第 6 节. 子查询

  • 子查询– 展示如何将一个查询(内部查询)嵌套在另一个查询(外部查询)中,并将内部查询的结果用于外部查询。
  • 派生表– 向您介绍派生表概念并展示如何使用它来简化复杂查询。
  • EXISTS – 测试行是否存在。

第 7 节 公共表表达式

第 8 节. 集合运算符

  • UNION 和 UNION ALL – 将多个查询的两个或多个结果集合并为一个结果集。
  • INTERSECT – 向您展示模拟INTERSECT运算符的几种方法。
  • MINUS – 向您解释 SQL MINUS 运算符并展示如何模拟它。

第 9 节. 修改 MySQL 中的数据

在本节中,您将学习如何使用各种 MySQL 语句从表中插入、更新和删除数据。

  • INSERT – 使用各种形式的INSERT语句将数据插入表中。
  • INSERT Multiple Rows – 在表中插入多行。
  • INSERT INTO SELECT – 将查询结果集中的数据插入表中。
  • INSERT IGNORE – 向您解释INSERT IGNORE语句,该语句将行插入表中并忽略导致错误的行。
  • UPDATE – 了解如何使用UPDATE语句及其选项来更新数据库表中的数据。
  • UPDATE JOIN – 展示如何使用带有INNER JOINLEFT JOINUPDATE JOIN语句执行跨表更新。
  • DELETE – 向您展示如何使用DELETE语句从一个或多个表中删除行。
  • ON DELETE CASCADE – 了解如何使用外键的ON DELETE CASCADE引用操作,以便在从父表中删除数据时自动从子表中删除数据。
  • DELETE JOIN – 向您展示如何从多个表中删除数据。
  • REPLACE – 学习如何插入或更新数据取决于数据是否存在于表中。
  • 准备好的语句– 向您展示如何使用准备好的语句来执行查询。

第 10 节 MySQL 事务

  • 事务– 了解 MySQL 事务,以及如何使用COMMITROLLBACK来管理 MySQL 中的事务。
  • 表锁定– 了解如何使用 MySQL 锁定来协调会话之间的表访问。

第 11 节. 管理数据库

本节向您展示如何管理 MySQL 数据库。

  • 选择 MySQL 数据库– 向您展示如何使用USE语句设置当前数据库。
  • 创建数据库– 逐步向您展示如何在 MySQL 服务器中创建新数据库。
  • DROP DATABASE – 引导您完成从数据库服务器删除数据库的步骤。

第 12 节. 使用表格

本节向您展示如何管理 MySQL 中最重要的数据库对象,包括数据库和表。

  • MySQL 存储引擎– 了解每个存储引擎的功能至关重要,以便您可以有效地使用它们来最大限度地提高数据库的性能。
  • CREATE TABLE – 展示如何使用CREATE TABLE语句在数据库中创建新表。
  • AUTO_INCRMENT – 展示如何使用 AUTO_INCRMENT 列为主键自动生成唯一的数字。
  • ALTER TABLE – 了解如何使用ALTER TABLE语句更改表的结构。
  • 重命名表– 展示如何使用RENAME TABLE语句重命名表。
  • 从表中删除一列– 向您展示如何使用ALTER TABLE DROP COLUMN语句从表中删除一个或多个列。
  • 向表添加新列– 展示如何使用ALTER TABLE ADD COLUMN语句向现有表添加一列或多列。
  • DROP TABLE – 展示如何使用DROP TABLE语句删除现有表。
  • 临时表– 讨论 MySQL 临时表并向您展示如何有效管理临时表。
  • TRUNCATE TABLE – 展示如何使用TRUNCATE TABLE语句快速且更高效地删除表中的所有数据。
  • 生成的列– 指导您如何使用生成的列来存储从表达式或其他列计算的数据。

第 13 节 MySQL 数据类型

  • MySQL 数据类型– 向您展示 MySQL 中的各种数据类型,以便您可以在设计数据库表时有效地应用它们。
  • INT – 向您展示如何使用整数数据类型。
  • DECIMAL – 向您展示如何使用DECIMAL数据类型以十进制格式存储精确值。
  • BIT – 向您介绍BIT数据类型以及如何在 MySQL 中存储位值。
  • BOOLEAN – 向您解释 MySQL 如何通过内部使用TINYINT(1)处理布尔值。
  • CHAR – 用于存储固定长度字符串的CHAR数据类型指南。
  • VARCHAR – 为您提供VARCHAR数据类型的基本指南。
  • TEXT – 向您展示如何使用TEXT数据类型存储文本数据。
  • DATE – 向您介绍DATE数据类型,并向您展示一些有效处理日期数据的日期函数。
  • TIME – 引导您了解TIME数据类型的功能,并向您展示如何使用一些有用的时态函数来处理时间数据。
  • DATETIME – 向您介绍DATETIME数据类型和一些操作DATETIME值的有用函数。
  • TIMESTAMP – 向您介绍TIMESTAMP及其称为自动初始化和自动更新的功能,该功能允许您为表定义自动初始化和自动更新的列。
  • JSON – 向您展示如何使用 JSON 数据类型来存储 JSON 文档。
  • ENUM – 学习如何正确使用ENUM数据类型来存储枚举值。

第 14 节 MySQL 约束

  • NOT NULL – 向您介绍NOT NULL约束,并向您展示如何声明NOT NULL列或向现有列添加NOT NULL约束。
  • 主键– 指导您如何使用主键约束为表创建主键。
  • 外键– 向您介绍外键并逐步向您展示如何创建和删除外键。
  • 禁用外键检查– 了解如何禁用外键检查。
  • UNIQUE 约束– 展示如何使用UNIQUE约束来强制表中的一列或一组列中的值的唯一性。
  • CHECK 约束– 了解如何创建CHECK约束以确保数据完整性。
  • DEFAULT – 展示如何使用 DEFAULT 约束设置列的默认值。
  • CHECK 约束模拟– 如果您使用 MySQL 8.0.15 或更早版本,则可以使用视图或触发器来模拟CHECK约束。

第 15 节 MySQL 全球化

  • 字符集– 讨论字符集并逐步向您展示如何对字符集执行各种操作。
  • 排序规则– 讨论排序规则并向您展示如何为 MySQL 服务器、数据库、表和列设置字符集和排序规则。

第 16 节:MySQL 导入和导出 CSV

第 17 节. 先进技术

  • 自然排序– 引导您使用ORDER BY子句了解 MySQL 中的各种自然排序技术。