# 第二章 技巧

在本节中，我们为您提供高级的MySQL技术和技巧，以帮助您有效地解决MySQL中一些棘手的难题。

**MySQL CTE简介**

* 本教程将向您展示如何使用MySQL CTE或公用表表达式功能以更可读的方式构建复杂查询。

  参阅：<http://www.yiibai.com/mysql/cte.html>

**MySQL递归CTE的最终指南**

* 在本教程中，您将了解MySQL递归CTE以及如何使用它来遍历MySQL数据库中的分层数据。

  参阅：<http://www.yiibai.com/mysql/recursive-cte.html>

**使用邻接列表模型管理MySQL中的分层数据**

* 在本教程中，您将学习如何使用邻接列表模型来管理MySQL中的层次结构数据。

  参阅：<http://www.yiibai.com/mysql/adjacency-list-tree.html>

**MySQL行计数：如何在MySQL中获取表中的行数？**

* 本教程将向您展示在MySQL数据库中获取MySQL行计数的各种方法。

  参阅：<http://www.yiibai.com/mysql/row-count.html>

**MySQL比较两个表**

* 本教程将向您展示如何比较两个表，以查找MySQL中不匹配的记录。

  参阅：<http://www.yiibai.com/mysql/compare-two-tables-to-find-unmatched-records-mysql.html>

**如何在MySQL中找到重复的值**

* 本教程将逐步介绍如何使用纯SQL语句在MySQL中的一列或多列中找到重复值。

  参阅：<http://www.yiibai.com/mysql/find-duplicate-values.html>

**如何删除MySQL中的重复行**

* 在本教程中，您将学习如何使用`DELETE JOIN`语句或即时表删除MySQL中的重复行。

  参阅：<http://www.yiibai.com/mysql/delete-duplicate-rows.html>

**MySQL UUID：UUID 与 INT 作为主键的比较**

* 本教程将向您介绍MySQL UUID，演示如何将其用作表的主键(PK)，并讨论将其用作PK的优缺点。

  参阅：<http://www.yiibai.com/mysql/uuid.html>

**MySQL复制表示例**

* 本教程将向您展示如何使用MySQL中的`CREATE TABLE LIKE`和`SELECT`语句将表在同一数据库中，或者将表从一个数据库复制到另一个数据库中。

  参阅：<http://www.yiibai.com/mysql/copy-table-data.html>

**如何复制MySQL数据库**

* 本教程将向您展示如何在同一服务器，或在另外一个服务器上复制MySQL数据库。

  参阅：<http://www.yiibai.com/mysql/copy-database.html>

**MySQL变量**

* 在本教程中，您将学习如何在SQL语句中使用MySQL用户定义的变量。

  参阅：<http://www.yiibai.com/mysql/variables.html>

**如何使用MySQL生成的列**

* 在本教程中，将学习如何使用MySQL生成的列来存储从表达式或其他列计算的数据。

  参阅：<http://www.yiibai.com/mysql/generated-columns.html>

**如何比较MySQL中相同表中的连续行**

* 在本文章中，我们将通过在MySQL中使用`INNER JOIN`向您展示如何比较或计算连续行之间的差异。

  参阅：<http://www.yiibai.com/mysql/compare-calculate-difference-successive-rows.html>

**如何更改MySQL存储引擎**

* 在本教程中，您将了解表如何使用哪个存储引擎，以及如何将表的存储引擎更改为其他引擎。

  参阅：<http://www.yiibai.com/mysql/change-storage-engine.html>

**MySQL REGEXP：基于正则表达式的搜索**

* 在本教程中，您将了解正则表达式以及如何使用MySQL `REGEXP`运算符使用许多正则表达式示例查询数据。

  参阅：<http://www.yiibai.com/mysql/regular-expression-regexp.html>

**MySQL row\_number函数以及如何模拟它**

* 在本教程中，我们将向您展示一个模拟MySQL中`row_number`函数的使用技巧。

  参阅：<http://www.yiibai.com/mysql/row_number.html>

**MySQL选择随机记录**

* 显示从数据库表中选择随机记录的各种技术。

  参阅：<http://www.yiibai.com/mysql/select-random-records-database-table.html>

**如何选择MySQL中第n个最高纪录**

* 在本教程中，您将学习如何使用各种技术在数据库表中第`n`个最高记录。

  参阅：<http://www.yiibai.com/mysql/select-nth-highest-record-database-table-using-mysql.html>

**MySQL重置自动增量值**

* 本教程将向您展示如何重置MySQL中`AUTO_INCREMENT`列的自动增量值。

  参阅：<http://www.yiibai.com/mysql/reset-auto-increment.html>

**MariaDB与MySQL比较区别**

* 下表说明了MariaDB和MySQL之间的主要区别：MySQL MariaDBDeveloper Oracle Corporation MariaDB Corporation AB(MariaDB Enterprise)，MariaDB Foundation(社区MariaDB Server)协议…

  参阅：<http://www.yiibai.com/mysql/mariadb-vs-mysql.html>

**MySQL间隔**

* 本教程将逐步介绍如何使用MySQL间隔进行日期和时间算术与许多实际示例。

  参阅：<http://www.yiibai.com/mysql/interval.html>

**MySQL NULL：初学者指南**

* 在本教程中，您将学习如何使用MySQL `NULL`值。 此外，还将学习一些有用的函数来有效地处理`NULL`值。

  参阅：<http://www.yiibai.com/mysql/null.html>

**如何获取MySQL今天的日期**

* 本教程将向您展示如何通过使用`CURDATE()`或N`OW()`函数来获取MySQL今天的日期。 另外，还将学习如何创建`today()`存储函数。

  参阅：<http://www.yiibai.com/mysql/today.html>

**如何将NULL值映射到其他有意义的值**

* 您将学习如何将`NULL`值映射到其他值以获得更好的数据表示。

  参考：<http://www.yiibai.com/mysql/avoid-displaying-null-values-by-mapping-to-other-values.html>

**MySQL注释深度**

* 本教程将向您展示如何使用MySQL注释来记录SQL语句或代码块。

  参考：<http://www.yiibai.com/mysql/comment.html>
