第一章 基础教程
这个 MySQL 基础教程解释一些基本的 SQL 语句。 如果这是您第一次使用关系数据库管理系统,本教程将为您提供使用 MySQL 数据库服务器所需的一切内容,例如查询数据,更新数据,管理数据库和创建表。
如果您已经熟悉其他关系数据库管理系统(如 PostgreSQL,Oracle 或 Microsoft SQL Server 等),则可以使用本教程来刷新您的知识,并了解 MySQL 的 SQL 方言与其他数据库系统的不同之处。
第 1 节 入门
本节将开始介绍和学习使用 MySQL。我们将开始安装 MySQL,下载示例数据库并将数据导入到 MySQL 服务器以进行练习。
安装MySQL数据库服务器 - 演示如何在计算机上安装 MySQL 数据库服务器。
下载MySQL示例数据库 - 介绍一个名称为
yiibaidb
的 MySQL 示例数据库,提供下载示例数据库及 ER 图。将示例数据库导入到MySQL数据库服务器中 - 演示如何将示例数据库 (
yiibaidb
) 导入到 MySQL 数据库服务器中进行练习。
第 2 节 查询数据
本节将帮助您了解如何从 MySQL 数据库服务器查询数据。 我们将从一个简单的SELECT
语句开始,从单个表查询数据。
SELECT 语句 - 显示如何使用简单的 SELECT 语句来查询单个表中的数据。
SELECT DISTINCT 语句 - 了解如何在
SELECT
语句中使用DISTINCT
运算符来消除结果集中的重复行。
第 3 节 过滤数据
WHERE - 学习如何使用
WHERE
子句根据指定的条件过滤行记录。AND 运算符 - 介绍如何使用
AND
运算符以组合布尔表达式以形成用于过滤数据的复杂条件。OR 运算符 - 介绍
OR
运算符,并展示如何将OR
运算符与AND
运算符组合以过滤数据。IN 运算符 - 学习如何在
WHERE
子句中使用IN
运算符来确定值是否匹配列表或子查询中的指定值。BETWEEN 运算符 - 显示如何使用
BETWEEN
运算符来根据指定范围查询数据。LIKE - 提供基于特定模式匹配查询数据的技术示例,以执行一些模糊查询。
LIMIT 子句 - 使用
LIMIT
来限制SELECT
语句返回的行数IS NULL - 使用
IS NULL
运算符测试值是否为NULL
。
第 4 节 排序数据
ORDER BY - 显示如何使用
ORDER BY
子句排序结果集。还将介绍使用FIELD
函数的自定义排序顺序。使用 ORDER BY 子句进行自然排序 - 通过使用
ORDER BY
子句,演示 MySQL 中的各种自然排序技术。
第 5 节 连接表
MySQL 别名 - 引入别名,包括表别名和列别名,以提高复杂查询的可读性,并避免在查询具有相同列名称的多个表中的数据时发生歧义错误。
INNER JOIN - 应用内部联接技术来查询来自多个相关表的数据。
LEFT JOIN - 学习如何使用左连接来生成包含来自连接左侧表中的行的结果集,并使用
NULL
值来补充不匹配行。CROSS JOIN - 学习如何使来自多个表的行的笛卡尔乘积。
自连接 – 使用表别名将表连接到自身,并使用其他类型的连接(如
INNER JOIN
或LEFT JOIN
)连接同一表中的行记录。
第 6 节 分组数据
GROUP BY 子句 - 学习如何根据列或表达式将行记录分组到子组。
HAVING 子句 - 按特定条件过滤组。
第 7 节 MySQL 子查询,派生表和通用表达式
MySQL 子查询 - 学习如何在另一个查询(外部查询)中嵌套另一个查询语句(内部查询),并使用内部查询的结果值作为外部查询条件。
MySQL 派生表 - 介绍派生表概念,并演示如何使用它来简化复杂查询。
MySQL 通用表表达式 - 解释通用表表达式概念,并向您展示如何使用 CTE 查询表中的数据。
递归 CTE - 演示如何使用递归通用表表达式 (CTE) 遍历分层数据。
第 8 节 使用 SET 操作符
UNION 和 UNION ALL - 使用
UNION
和UNION ALL
操作符将两个或多个多个SELECT
语句的结果集合合并到一个结果集中。INTERSECT 模拟 - 显示了几种模拟MySQL中
INTERSECT
运算符的方法。
第 9 节 修改 MySQL 中的数据
在本节中,将学习如何使用各种MySQL语句来在表上执行插入,更新和删除数据操作。
INSERT 语句 - 学习如何使用各种形式的
INSERT
语句将数据插入到数据库表中。INSERT IGNORE - 解释将数据行插入到表中并忽略导致错误或异常的行的
INSERT IGNORE
语句。UPDATE 语句 - 了解如何使用
UPDATE
语句及其选项来更新数据库表中的数据。UPDATE JOIN 语句 - 显示如何使用带有
INNER JOIN
和LEFT JOIN
的UPDATE JOIN
语句执行交叉表更新。DELETE - 学习如何使用
DELETE
语句从一个或多个表中删除数据。ON DELETE CASCADE - 学习如何从父表中删除数据时,使用外部键从
DELETE CASCADE
引用动作删除子表中的数据。DELETE JOIN - 学习如何从多个表中删除数据。
REPLACE 语句 - 学习如何插入或更新数据,这取决于数据是否存在于表中。
PREPARE 语句 - 显示如何使用PREPARE语句执行查询。
第 10 节 MySQL 事务
第 11 节 管理 MySQL 数据库和表
本节介绍如何管理 MySQL 中最重要的数据库对象,包括数据库和表。
MySQL 数据库管理 - 学习各种语句来管理 MySQL 数据库,包括创建新数据库,删除现有数据库,选择数据库以及列出所有数据库。
MySQL 表类型 - 了解每个表类型的功能至关重要,以便您可以有效地使用它们来最大限度地提高数据库的性能。
CREATE TABLE - 学习如何使用
CREATE TABLE
语句在数据库中创建新表。MySQL 序列 - 学习如何使用序列为表的主键列自动生成唯一的数字。
ALTER TABLE - 学习如何使用
ALTER TABLE
语句来更改现有表的结构。重命名表 - 演示如何使用
RENAME TABLE
语句重命名表。从表中删除列 - 学习如何使用
ALTER TABLE DROP COLUMN
语句从表中删除一个或多个列。向表中添加新列 - 学习如何使用
ALTER TABLE ADD COLUMN
语句向现有表添加一个或多个列。删除表 - 学习如何使用
DROP TABLE
语句删除现有表。MySQL 临时表 - 讨论MySQL临时表,并学习如何管理临时表。
TRUNCATE TABLE - 学习如何使用
TRUNCATE TABLE
语句删除表中的所有数据。
第 12 节 MySQL 索引
管理MySQL 数据库索引 - 学习如何使用 MySQL 索引,以及如何利用索引来加快数据检索。
MySQL UNIQUE 索引 - 显示如何使用
UNIQUE
索引来强制一个或多个列的值的唯一性。
第 13 节 MySQL 数据类型
MySQL 数据类型 - 学习 MySQL 中的各种数据类型,以便您可以在设计数据库表时有效应用它们。
INT - 学习如何使用整数数据类型。并演示如何使用
ZEROFILL
和整数列的宽度属性。DECIMAL - 学习如何使用
DECIMAL
数据类型存储十进制格式的精确值。BIT - 介绍
BIT
数据类型以及如何在 MySQL 中存储位值。BOOLEAN - 学习 MySQL 如何通过内部使用
TINYINT(1)
来处理布尔值。CHAR - 学习如何使用存储固定长度字符串的
CHAR
数据类型。VARCHAR - 提供
VARCHAR
数据类型的基本指南。TEXT - 演示如何使用
TEXT
数据类型存储文本数据。DATE - 介绍DATE数据类型,并显示一些日期功能来有效处理日期数据。
TIME - 学习
TIME
数据类型的功能,并向您演示如何使用一些有用的时间功能来处理时间数据。DATETIME - 介绍
DATETIME
数据类型和一些有用的函数来操作日期时间值。TIMESTAMP - 介绍
TIMESTAMP
类型及其功能,调用自动初始化和自动更新,允许您为表定义自动初始化和自动更新的列。JSON 格式类型 - 显示如何使用 JSON 数据类型来存储 JSON 文档。
ENUM - 了解如何正确使用
ENUM
数据类型来存储枚举值。
第 14 节 MySQL 约束
NOT NULL 约束 - 引入
NOT NULL
约束,并显示如何为列定义NOT NULL
约束或将NOT NULL
约束添加到现有列。主键约束 - 指导如何使用主键约束来创建表的主键。
外键约束 - 学习外键概念,并逐步显示如何创建和删除外键。
UNIQUE 约束 - 显示如何使用
UNIQUE
约束来强制表中列或一组列的值的唯一性。CHECK 约束 - 通过各种方式来模拟 MySQL 中的
CHECK
约束。
第 15 节 MySQL 全球化
MySQL 字符集 - 本教程讨论 MySQL 字符集,并演示如何对字符集执行各种操作。
MySQL 排序规则 - 本教程讨论了 MySQL 排序规则,并向您展示了如何为 MySQL 服务器,数据库,表和列设置字符集和排序规则。
第 16 节 MySQL 导入和导出
将 CSV 文件导入 MySQL 表 - 演示如何使用
LOAD DATA INFILE
语句将 CSV文件导入 MySQL 表。MySQL 导出表到 CSV - 学习如何将 MySQL 表导出为 CSV 文件格式的各种技术。
Last updated