MySQL 基本データ操作

SQLSQLBeginner
今すぐ練習

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

この実験では、MySQLにおける基本的なデータ操作を学びます。MySQLテーブルにデータを挿入、選択、更新、削除する方法を学びます。これらの操作は、一般的にCRUD(Create、Read、Update、Delete)と呼ばれ、データベースの相互作用の基盤を形成しています。実践的な演習を通じて、これらの重要なデータベース操作に関する実際の経験を得て、MySQLテーブル内のデータを効果的に管理する方法を理解します。

基本的なデータ挿入

このステップでは、INSERT文を使ってMySQLテーブルにデータを挿入する方法を学びます。まずは簡単な1行挿入から始め、その後複数行挿入に移ります。

まず、MySQLに接続しましょう。

sudo mysql -u root

接続後、storeデータベースを選択します。

USE store;

1行挿入

まず、productsテーブルに1つの商品を挿入してみましょう。

INSERT INTO products (name, price, description)
VALUES ('Coffee Maker', 49.99, 'A 12-cup drip coffee maker with programmable timer');

このコマンドを分解してみましょう。

  • INSERT INTO products:挿入先のテーブルを指定します。
  • (name, price, description):値を提供する列をリストします。
  • VALUES (...):挿入する実際の値を指定します。

以下のことに注意してください。

  • id:自動インクリメントなので、MySQLが自動的に処理します。
  • created_at:現在のタイムスタンプがデフォルト値です。

挿入を確認するには、データを選択できます。

SELECT * FROM products;

以下のような出力が表示されるはずです。

+----+--------------+--------+----------------------------------------------------+---------------------+
| id | name         | price  | description                                        | created_at          |
+----+--------------+--------+----------------------------------------------------+---------------------+
|  1 | Coffee Maker |  49.99 | A 12-cup drip coffee maker with programmable timer | 2024-11-07 09:12:06 |
+----+--------------+--------+----------------------------------------------------+---------------------+

複数行挿入

次に、一度に複数の商品を挿入してみましょう。1行ずつ挿入するよりも効率的です。

INSERT INTO products (name, price, description) VALUES
    ('Toaster', 29.99, '2-slice toaster with multiple browning settings'),
    ('Blender', 79.99, 'High-speed blender for smoothies and soups'),
    ('Microwave', 129.99, '1000-watt microwave with digital controls');

このコマンドは1行挿入と同じ構造を持っていますが、コンマで区切られた複数の値セットが含まれています。

挿入を確認しましょう。

SELECT * FROM products;

以下のような出力が表示されるはずです。

+----+--------------+--------+----------------------------------------------------+---------------------+
| id | name         | price  | description                                        | created_at          |
+----+--------------+--------+----------------------------------------------------+---------------------+
|  1 | Coffee Maker |  49.99 | A 12-cup drip coffee maker with programmable timer | 2024-11-07 09:12:06 |
|  2 | Toaster      |  29.99 | 2-slice toaster with multiple browning settings    | 2024-11-07 09:12:16 |
|  3 | Blender      |  79.99 | High-speed blender for smoothies and soups         | 2024-11-07 09:12:16 |
|  4 | Microwave    | 129.99 | 1000-watt microwave with digital controls          | 2024-11-07 09:12:16 |
+----+--------------+--------+----------------------------------------------------+---------------------+

基本的なSELECTクエリ

このステップでは、SELECT文を使ってテーブルからデータを取得する方法を学びます。出力を選択してフォーマットするさまざまな方法を探ります。

特定の列を選択する

* を使ってすべての列を選択する代わりに、見たい列を正確に指定できます。

SELECT name, price FROM products;

これにより、データのより焦点の絞られたビューが得られます。

+-------------+--------+
| name        | price  |
+-------------+--------+
| Coffee Maker| 49.99  |
| Toaster     | 29.99  |
| Blender     | 79.99  |
| Microwave   | 129.99 |
+-------------+--------+

列エイリアスの使用

ASキーワードを使って列エイリアスを使うことで、出力をより読みやすくすることができます。

SELECT
    name AS product_name,
    price AS retail_price,
    price * 0.8 AS sale_price
FROM products;

このクエリは、以下のことを行います。

  • 'name' を 'product_name' にリネームします。
  • 'price' を'retail_price' にリネームします。
  • セール価格(20%割引)を計算し、'sale_price' と名付けます。

以下のような出力が表示されます。

+-------------+-------------+------------+
| product_name| retail_price| sale_price |
+-------------+-------------+------------+
| Coffee Maker| 49.99       | 39.99      |
| Toaster     | 29.99       | 23.99      |
| Blender     | 79.99       | 63.99      |
| Microwave   | 129.99      | 103.99     |
+-------------+-------------+------------+

結果のフィルタリング

WHERE句を使って結果をフィルタリングできます。

SELECT name, price
FROM products
WHERE price < 50.00;

これにより、50ドル未満の商品のみが表示されます。

+-------------+-------+
| name        | price |
+-------------+-------+
| Coffee Maker| 49.99 |
| Toaster     | 29.99 |
+-------------+-------+

データの更新

このステップでは、UPDATE文を使って既存のデータを変更する方法を学びます。UPDATE文を使うと、テーブル内の値を変更できます。

重要:UPDATE文では常にWHERE句を使うこと!WHEREがない場合、更新はテーブルのすべての行に影響します。

コーヒーメーカーの価格を上げる必要があるとしましょう。

UPDATE products
SET price = 54.99
WHERE name = 'Coffee Maker';

また、一度に複数の列を更新することもできます。

UPDATE products
SET
    price = 89.99,
    description = 'Professional-grade high-speed blender for smoothies and soups'
WHERE name = 'Blender';

更新を確認するには:

SELECT name, price, description
FROM products
WHERE name IN ('Coffee Maker', 'Blender');

更新された値が表示されるはずです。

+--------------+-------+---------------------------------------------------------------+
| name         | price | description                                                   |
+--------------+-------+---------------------------------------------------------------+
| Coffee Maker | 54.99 | A 12-cup drip coffee maker with programmable timer            |
| Blender      | 89.99 | Professional-grade high-speed blender for smoothies and soups |
+--------------+-------+---------------------------------------------------------------+

データの削除

この最後のステップでは、DELETE文を使ってテーブルからデータを削除する方法を学びます。UPDATEと同様、すべてのデータを誤って削除しないように、DELETEにWHERE句を使うことが重要です。

商品からトースターを削除しましょう。

DELETE FROM products
WHERE name = 'Toaster';

削除を確認するには:

SELECT * FROM products;

トースター以外のすべての商品が表示されるはずです。

+----+-------------+-------+-----------------------------------------------------+---------------------+
| id | name        | price | description                                         | created_at          |
+----+-------------+-------+-----------------------------------------------------+---------------------+
|  1 | Coffee Maker| 54.99 | A 12-cup drip coffee maker with programmable timer | 2024-01-01 12:00:00 |
|  3 | Blender     | 89.99 | Professional-grade high-speed blender for smoothies| 2024-01-01 12:00:00 |
|  4 | Microwave   | 129.99| 1000-watt microwave with digital controls          | 2024-01-01 12:00:00 |
+----+-------------+-------+-----------------------------------------------------+---------------------+

また、一度に複数行を削除することもできます。100ドル以上のすべての商品を削除しましょう。

DELETE FROM products
WHERE price > 100;

これにより、商品リストから電子レンジが削除されるはずです。

MariaDB [store]> SELECT * FROM products;
+----+--------------+-------+---------------------------------------------------------------+---------------------+
| id | name         | price | description                                                   | created_at          |
+----+--------------+-------+---------------------------------------------------------------+---------------------+
|  1 | Coffee Maker | 54.99 | A 12-cup drip coffee maker with programmable timer            | 2024-11-07 09:12:06 |
|  3 | Blender      | 89.99 | Professional-grade high-speed blender for smoothies and soups | 2024-11-07 09:12:16 |
+----+--------------+-------+---------------------------------------------------------------+---------------------+

まとめ

この実験では、MySQLにおける基本的なデータ操作の操作方法を学びました。

  1. 1行および複数行のデータを追加するためのINSERT文
  2. データを取得およびフォーマットするためのSELECTクエリ
  3. 既存のデータを変更するためのUPDATE文
  4. テーブルからデータを削除するためのDELETE文

これらの操作は、データベース操作の基礎を形成しており、データベースを扱うすべての人にとって必須のスキルです。