はじめに
この実験では、MySQLにおける基本的なデータ操作を学びます。MySQLテーブルにデータを挿入、選択、更新、削除する方法を学びます。これらの操作は、一般的にCRUD(Create、Read、Update、Delete)と呼ばれ、データベースの相互作用の基盤を形成しています。実践的な演習を通じて、これらの重要なデータベース操作に関する実際の経験を得て、MySQLテーブル内のデータを効果的に管理する方法を理解します。
この実験では、MySQLにおける基本的なデータ操作を学びます。MySQLテーブルにデータを挿入、選択、更新、削除する方法を学びます。これらの操作は、一般的にCRUD(Create、Read、Update、Delete)と呼ばれ、データベースの相互作用の基盤を形成しています。実践的な演習を通じて、これらの重要なデータベース操作に関する実際の経験を得て、MySQLテーブル内のデータを効果的に管理する方法を理解します。
このステップでは、INSERT文を使ってMySQLテーブルにデータを挿入する方法を学びます。まずは簡単な1行挿入から始め、その後複数行挿入に移ります。
まず、MySQLに接続しましょう。
sudo mysql -u root
接続後、storeデータベースを選択します。
USE store;
まず、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 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;
このクエリは、以下のことを行います。
以下のような出力が表示されます。
+-------------+-------------+------------+
| 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における基本的なデータ操作の操作方法を学びました。
これらの操作は、データベース操作の基礎を形成しており、データベースを扱うすべての人にとって必須のスキルです。