SQL 和 MySQL 的区别

Habdul Hazeez 2022年5月26日
SQL 和 MySQL 的区别

本文将教你 SQL 和 MySQL 的五个区别。

SQL 和 MySQL 的区别

本文将包含代码和解释,因此你有足够的时间掌握并清楚地了解 SQL 和 MySQL 之间的区别。

SQL 是一种语言,而 MySQL 是一种数据库软件

SQL 代表结构化查询语言,它是一种可以与支持它的数据库一起使用的语言。虽然 MySQL 的名称中有 SQL 一词,但它是一种数据库软件。

如果你想将数据存储在数据库中,MySQL 是你的选择。

SQL 可以查询数据库,而 MySQL 响应 SQL 查询

SQL 是一种查询语言,可用于 MySQL 等数据库。所以,如果你在 MySQL 中有数据库,你可以使用 SQL 来查询这些数据。

为了更清楚地说明这一点,让我们看一个例子。以下是在 MySQL 中创建数据库的 SQL 代码。

CREATE database DelftStack;

输出:

Query OK, 1 row affected (0.001 sec)

一旦查询成功执行,你还可以使用 SQL 在数据库中创建表和数据。因此,以下 SQL 在 DelftStack 数据库中创建一个表。

一旦我们有了表格,我们就可以输入一些数据。

CREATE TABLE articles
(article_id INT NOT NULL AUTO_INCREMENT,
article_author VARCHAR(30) NOT NULL,
article_date DATE NOT NULL,
article_title VARCHAR(200) NOT NULL,
article_content LONGTEXT NOT NULL,
PRIMARY KEY (article_id))
ENGINE = InnoDB;

输出:

Query OK, 0 rows affected (0.060 sec)

设置好表后,我们可以用示例数据填充它。因此,在下面的 SQL 中,我们将一条记录插入到 articles 表中。

INSERT INTO articles
(article_id, article_author, article_date, article_title, article_content)
VALUES (NULL, 'Delft Stack', '2022-05-19', 'Decoding charCodeAt() in JavaScript', 'This is a really long post about decoding the charCodeAt() function in JavaScript');

输出:

Query OK, 1 row affected (0.013 sec)

当数据库中填充了一些数据时,你可以使用 SQL 来查询数据。下面,我们使用 SQL 返回数据库表中的所有数据。

SELECT * FROM articles;

输出:

+------------+----------------+--------------+-------------------------------------+-----------------------------------------------------------------------------------+
| article_id | article_author | article_date | article_title                       | article_content                                                                   |
+------------+----------------+--------------+-------------------------------------+-----------------------------------------------------------------------------------+
|          1 | Delf Stack     | 2022-05-19   | Decoding charCodeAt() in JavaScript | This is a really long post about decoding the charCodeAt() function in JavaScript |
+------------+----------------+--------------+-------------------------------------+-----------------------------------------------------------------------------------+
1 row in set (0.093 sec)

SQL 几乎保持不变,而 MySQL 获得更新

SQL 遵循一个标准,因此该语言多年来保持不变。但是,MySQL 是一个可以更新的软件。

这些更新可能是修复错误、新功能或完全重写新版本。例如,以下 SQL 将适用于大多数支持 SQL 的数据库。

同时,该 SQL 语句假定数据库有一个 fruit 表。

SELECT * FROM fruit;

MySQL 上的输出:

+----+-----------+--------+
| id | name      | color  |
+----+-----------+--------+
|  1 | Banana    | Yellow |
|  2 | Pineapple | Green  |
+----+-----------+--------+
2 rows in set (0.037 sec)

前面的 SQL 代码将在另一个支持 SQL 的数据库上工作。那是因为它是一个 SELECT 语句,长期以来一直是 SQL 的一部分。

同时,在撰写本文时,MySQL 的当前版本是 8 版。此外,它不会止步于此。当你阅读本文时,它可能是第十九版。

SQL 独立于 MySQL,而 MySQL 依赖于 SQL

SQL 可以与数据库一起使用,例如 Oracle 数据库、PostgreSQL 和 Microsoft SQL Server。这意味着 SQL 没有锁定到特定的数据库。

所以你可以开发你的数据库来支持 SQL。但是,MySQL 是一个数据库,唯一可以使用的语言是 SQL。

你必须学习 SQL 才能有效地使用 MySQL

深入了解 SQL 将使你能够充分利用 MySQL。不过,像 phpMyAdmin 这样的工具可以让你在不编写任何 SQL 代码的情况下使用 MySQL。

尽管如此,对 SQL 的良好掌握将使你能够充分利用 MySQL。因此,要学习 SQL,我们建议以下内容:

  1. Rudy Limeback 的 Simply SQL
  2. Lynn Beighley 的 Head First SQL
  3. Alan Beaulieu 的学习 SQL
作者: Habdul Hazeez
Habdul Hazeez avatar Habdul Hazeez avatar

Habdul Hazeez is a technical writer with amazing research skills. He can connect the dots, and make sense of data that are scattered across different media.

LinkedIn