はじめに
この実験では、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 行および複数行のデータを追加するための INSERT 文
- データを取得およびフォーマットするための SELECT クエリ
- 既存のデータを変更するための UPDATE 文
- テーブルからデータを削除するための DELETE 文
これらの操作は、データベース操作の基礎を形成しており、データベースを扱うすべての人にとって必須のスキルです。
