SQL と MySQL の違い

Habdul Hazeez 2022年5月26日
SQL と MySQL の違い

この記事では、SQL と MySQL の 5つの違いについて説明します。

SQL と MySQL の違い

この記事にはコードと説明の両方が含まれているので、SQL と MySQL の違いをしっかりと理解して理解することができます。

SQL は言語ですが、MySQL はデータベースソフトウェアです

SQL は StructuredQueryLanguage の略で、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)

MySQL が更新を取得するのに対し、SQL はほぼ同じままです

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 をサポートする別のデータベースで機能します。これは、長い間 SQL の一部であった SELECT ステートメントであるためです。

一方、執筆時点では、MySQL の現在のバージョンはバージョン 8 です。さらに、それはそこで止まるつもりはありません。この記事を読む頃には、バージョン 19 になっている可能性があります。

SQL は MySQL から独立しているが、MySQL は SQL に依存している

SQL は、Oracle Database、PostgreSQL、MicrosoftSQL Server などのデータベースと連携できます。これは、SQL が特定のデータベースにロックされていないことを意味します。

したがって、SQL をサポートするデータベースを開発できます。ただし、MySQL はデータベースであり、使用できる言語は SQL のみです。

MySQL を効果的に使用するには SQL を学ぶ必要があります

SQL に関する深い知識により、MySQL を最大限に活用できます。ただし、phpMyAdmin などのツールを使用すると、SQL コードを記述せずに MySQL を操作できます。

それでも、SQL をしっかりと把握することで、MySQL を最大限に活用することができます。したがって、SQL を学習するには、次のことをお勧めします。

  1. RudyLimeback による単純な SQL
  2. LynnBeighley による HeadFirstSQL
  3. AlanBeaulieu による 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