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