原文:点击打开链接
MySQL学习QQ群:418407075
这是一个基础的MySQL教程,通过教程的学习后可以到达一个初级到中级 MySQL应用水平级别 ,主要介绍一些MySQL中基本的SQL语句。如果这是您第一次使用关系数据库管理系统(之前没有学习SQL相关知识)那么也没有关系,本教程将为您提供使用 MySQL数据库服务器的工作所需知识和示例,如:查询数据,更新数据,管理数据库和创建表等等。
如果已经熟悉其它的关系数据库管理系统,如:PostgreSQL,甲骨文(Oracle),或Microsoft SQL Server等,那么将有助于理解和使用本教程,刷新知识并理解MySQL的SQL语句,看看MySQL与其他数据库系统有怎样的不同。
第1节、开始使用MySQL
本节将帮助您快速使用MySQL。我们将开始安装MySQL,下载一个样本数据库,并将样本数据加载到MySQL服务器中,作为后续示例练习使用。
-
安装MySQL数据库服务器 - 一步一步演示如何在您的计算机上安装 MySQL 数据库服务器(软件)。
-
下载MySQL的示例数据库 - 介绍一个MySQL的示例数据库(studymysql)。我们将提供链接下载示例数据库和它的ER图。
-
加载示例数据库到本地MySQL数据库服务器 – 演示如何将示例数据库(studymysql)加载到MySQL数据库服务器中进行练习。
第2节、查询数据
本节学习如何从MySQL数据库服务器中查询数据。我们将用一个简单的 SELECT
语句,让您可以从单个表中查询数据。
-
MySQL SELECT语句查询数据 – 演示如何简单使用
SELECT
语句从单个数据库表查询数据。 -
DISTINCT操作符消除重复行数据 – 学会如何使用
DISTINCT
运算符在SELECT
语句来消除结果集中的重复行。
第3节、 过滤数据
-
WHERE过滤行数据 – 学会如何使用
WHERE
子句来基于特定条件过滤行数据。 -
AND运算符 – 介绍如何使用
AND
运算符与布尔表达式相结合,形成过滤数据的复杂条件。 -
OR运算符 – 介绍OR运算符,并演示如何使用
AND
运算符结合OR
运算符来过滤数据。 -
IN操作符查询数据 – 演示如何使用IN操作符在
WHERE
子句中匹配列表中的一个值或匹配在子查询的任何值。 -
BETWEEN运算符查询数据 – 介绍如何使用
BETWEEN
运算符在指定范围内查询数据。 -
LIKE操作符基于模式查询数据 – 提供了一种基于特定模式匹配的技术来查询数据。
-
LIMIT子句 – 使用
LIMIT
来限制由SELECT
语句返回的行数。
第4节、 排序数据
- 使用ORDER BY排序行数据 – 介绍如何使用
ORDER BY
子句对结果集进行排序。同时也使用FIELD
函数来自定义排序。
MySQL ORDER BY子句自然排序 – 使用ORDER BY
子句在MySQL各种自然排序技术中。
第5节、 连接表
-
使用MySQL别名使查询更具可读性 – 介绍别名,包括表的别名和列别名,以提高复杂查询的可读性和查询来自具有相同的列名多个表中的数据时避免不明确的错误(或叫作歧义错误)。
-
使用内连接表(INNER JOIN) – 内部连接技术适用于从多个相关表中查询数据。
-
使用左连接表(LEFT JOIN) – 学会如何使用左连接,以产生包含联接的左侧表数据在结果集中,并用
NULL
值代替未找到匹配的行。 -
使用MySQL表自联接 – 一个表与自身使用表的别名实现自连接,并使用其它连接在同一个表连接行,如内连接或左连接。
第6节、分组数据
-
使用GROUP BY子句分组行到子组 – 学习如何分组行到基于列或表达式的分组。
-
使用MySQL HAVING过滤分组 – 通过指定特定条件来过滤分组。
第7节、 MySQL子查询
- 使用MySQL子查询在查询语句中嵌套另一个查询语句 – 向您介绍如何嵌套一个查询语句在外部查询中,并且外部查询使用内部查询的结果作为条件过滤数据。我们还将向您介绍相关子查询的概念。
第8节、 使用集合操作符
-
使用MySQL UNION和UNION ALL合并结果集 – 使用
UNION
和UNION ALL
帮助您合并由多个SELECT
语句产生两个或多个结果集。 -
MySQL INTERSECT模拟 – 本教程介绍了几种方法来模拟在MySQL中的
INTERSECT
运算符功能。
第9节、 在MySQL中修改数据
在本节中,您将学习如何在表上使用各种MySQL语句,如:插入,更新和删除数据。
-
使用MySQL INSERT语句将数据插入表中 – 学习如何使用
INSERT
语句和各种形式将数据插入到数据库的表中。 -
使用MySQL UPDATE语句更新数据 – 学习如何使用
UPDATE
语句及其选项来更新数据库表中的数据。 -
使用MySQL UPDATE JOIN执行交跨表更新 – 本教程介绍
UPDATE JOIN
语句如何使用INNER JOIN
和LEFT JOIN
进行跨表更新。 -
使用MySQL DELETE删除数据 – 本教程将向您展示如何使用
DELETE
语句从一个或多个表中删除数据。 -
使用MySQL ON DELETE CASCADE从多个表中删除数据 – 了解如何使用
ON DELETE CASCADE
参考操作,当您从父表中删除数据时,MySQL将自动从引用外键的子表中删除数据。 -
使用DELETE JOIN删除数据 – 本教程介绍如何使用
DELETE JOIN
语句(使用INNER JOIN
和LEFT JOIN
)从多个表中删除数据。 -
MySQL Replace – 学习如何使用
REPLACE
语句插入或更新数据。 -
MySQL预处理语句 – 本教程将向您介绍如何使用预处理语句以及占位符来执行查询,以提高查询速度,并使查询更加安全。
第10节、MySQL事务
第11节、管理MySQL数据库和表
本节介绍如何管理 MySQL 中最重要的数据库对象,包括:数据库和表。
-
在MySQL中管理数据库 – 在本教程中将学习用来管理MySQL数据库的各种语句,包括创建新数据库,删除现有数据库,选择数据库和列出所有数据库。
-
了解MySQL表类型 – 有必要了解每个表类型的功能特性,以便您可以有效地使用它们来最大限度地提高数据库的性能。
-
使用MySQL CREATE TABLE语句创建表 – 演示如何使用CREATE TABLE语句在数据库中创建新表。
-
MySQL序列 – 演示如何使用序列为表的主键列自动生成唯一编号。
-
使用MySQL ALTER TABLE修改表的结构 – 您将了解如何使用
ALTER TABLE
语句来更改现有表的结构,例如添加或删除列,更改列属性等。 -
重命名表 – 我们将演示如何使用
RENAME TABLE
语句来重命名表。 -
从表中删除列 – 演示如何使用ALTER TABLE DROP COLUMN语句从表中删除一个或多个列。
-
向表中添加新列 – 本教程将向您介绍如何使用
ALTER TABLE ADD COLUMN
语句将一个或多个列添加到现有表中。 -
使用MySQL DROP TABLE语句删除表 – 演示如何使用
DROP TABLE
语句删除现有表。 -
MySQL临时表 – 讨论学习MySQL临时表,并一步一步地演示如何管理临时表。
-
MySQL TRUNCATE TABLE(截断表) – 本教程介绍如何使用
TRUNCATE TABLE
语句删除表(截断)中的所有数据。
第12节、MySQL索引
- 管理MySQL数据库索引 – 您将学习如何使用MySQL索引,以及如何利用索引的优势来加速数据检索。
- MySQL UNIQUE索引 – 演示如何使用
UNIQUE
索引来强制在一个或多个列中的值的唯一性。
第13节、 MySQL数字类型
-
MySQL数据类型 – 演示各种MySQL数据类型,以便在设计数据库表时有效地应用它们。
-
MySQL INT – 演示如何使用整数数据类型。 我们还将向您展示如何使用ZEROFILL,并显示整数列的宽度属性。
-
MySQL DECIMAL – 演示如何使用
DECIMAL
数据类型以十进制格式存储精确值。 -
MySQL DATE – 介绍
DATE
数据类型,并演示一些日期函数来有效处理日期数据。 -
MySQL TIME – 引导您了解TIME数据类型的功能,并向您展示如何使用一些有用的时间函数来处理时间数据。
-
MySQL DATETIME – 介绍
DATETIME
数据类型和一些有用的函数来操作DATETIME
日期时间值。 -
MySQL TIMESTAMP – 介绍TIMESTAMP及其功能特性,自动初始化和自动更新时间戳,允许在表定义时自动初始化和自动更新列的时间值。
第14节、MySQL约束
-
MySQL主键(primary key) – 指导您如何使用主键约束为表创建主键。
-
MySQL外键(foreign key) – 向您介绍外键,并逐步介绍如何创建和删除外键。
-
MySQL唯一约束(UNIQUE) – 演示如何使用
UNIQUE
唯一约束来强制在表中的一列或一组列中的值的唯一性。 -
MySQL CHECK约束模拟 – 通过各种方法来模拟MySQL中的CHECK约束。
第15节、MySQL全球化
-
MySQL字符集 – 本教程讨论MySQL字符集,并向您逐步介绍如何对字符集执行各种操作。
-
MySQL整理(排序顺序) – 本教程讨论了MySQL的整理(排序顺序)和演示了如何为MySQL服务器,数据库,表和列设置字符集和(排序顺序)。
第16节、 MySQL导入和导出
-
将CSV文件导入MySQL表 – 演示如何使用
LOAD DATA INFILE
语句将CSV文件导入MySQL表。 -
MySQL将表导出为CSV文件 – 学习如何将MySQL表导出为CSV文件格式的各种技术。