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 を学習するには、次のことをお勧めします。
- RudyLimeback による単純な SQL
- LynnBeighley による HeadFirstSQL
- AlanBeaulieu による SQL の学習
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