データベース操作の基本となるSQLの4大命令について、実践的なコード例を交えながら詳しく解説します。初心者でも理解できる基礎から、実務で使える応用テクニックまで、どこまで理解できるでしょうか?
SQLの役割とデータベース操作の基本機能と活用方法
SQLの基本的な役割から実践的な活用方法まで、具体的なコード例を交えて解説します。データベース初心者でも理解できる内容ですが、実務での応用も考えられているので、SQLの真の実力を知りたくありませんか?
データベースの作成から基本的なテーブル操作まで、SQLの基本的な構文を見ていきましょう。以下は顧客情報テーブルを作成する例です:
CREATE TABLE customers (
id SERIAL PRIMARY KEY,
name VARCHAR(40) NOT NULL,
email VARCHAR(100) UNIQUE,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
)
このコードでは、一意のID、名前、メールアドレス、作成日時を持つテーブルを作成します。
データの検索は最も頻繁に使用される操作の一つです。以下に基本的な検索クエリの例を示します:
SELECT name, email
FROM customers
WHERE created_at >= '2024-01-01'
ORDER BY name ASC
LIMIT 10
この例では、2024年以降に登録された顧客の名前とメールアドレスを、名前順で10件取得します。
トランザクション処理は、データの整合性を保つための重要な機能です。例えば:
BEGIN
UPDATE accounts SET balance = balance - 1000 WHERE id = 1
UPDATE accounts SET balance = balance + 1000 WHERE id = 2
COMMIT
この例では、口座間の送金処理を一つのトランザクションとして実行します。
Webアプリケーションでは、以下のようなクエリが頻繁に使用されます:
SELECT
p.product_name,
COUNT(o.order_id) as order_count,
SUM(o.quantity) as total_quantity
FROM products p
LEFT JOIN orders o ON p.product_id = o.product_id
GROUP BY p.product_name
HAVING COUNT(o.order_id) > 0
ORDER BY order_count DESC
この例は、商品ごとの注文数と総数量を集計するクエリです。
効率的なクエリ実行のために、適切なインデックスの作成が重要です:
CREATE INDEX idx_customers_email ON customers(email)
ANALYZE customers
このコードは、メールアドレスでの検索を高速化するインデックスを作成します。
各セクションの内容は、実務での活用を想定して具体的な例を示しながら、SQLの基本的な役割から応用的な使用方法まで、段階的に理解を深められるように構成されています。