メインコンテンツまでスキップ

書き方基本

SQL の基本的な書き方について説明します。 SQL(Structured Query Language)は、データベースを操作するための言語です。 主に以下のような操作ができます。

1. データベースとテーブルの作成

CREATE DATABASE sample_db;
USE sample_db;

CREATE TABLE users (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
age INT,
email VARCHAR(100) UNIQUE
);
  • CREATE DATABASE:新しいデータベースを作成
  • USE:使用するデータベースを指定
  • CREATE TABLE:テーブルを作成
  • PRIMARY KEY:主キー(データを一意に識別)
  • AUTO_INCREMENT:自動的に連番を振る
  • NOT NULL:NULL 値を許可しない
  • UNIQUE:重複を許可しない

2. データの追加(INSERT)

INSERT INTO users (name, age, email) VALUES 
('Alice', 25, 'alice@example.com'),
('Bob', 30, 'bob@example.com');
  • INSERT INTO テーブル名 (列名...) VALUES (値...)
  • 複数行を一度に追加できる

3. データの取得(SELECT)

SELECT * FROM users;
  • * はすべての列を取得

特定の列だけ取得したい場合:

SELECT name, age FROM users;

条件を指定する場合(WHERE):

SELECT * FROM users WHERE age > 25;
  • WHERE を使って条件を指定

データを並び替える場合(ORDER BY):

SELECT * FROM users ORDER BY age DESC;
  • ASC(昇順:小さい順)
  • DESC(降順:大きい順)

4. データの更新(UPDATE)

UPDATE users SET age = 26 WHERE name = 'Alice';
  • SET で変更する列を指定
  • WHERE で対象のデータを指定(指定しないと全データが更新される)

5. データの削除(DELETE)

DELETE FROM users WHERE name = 'Bob';
  • WHERE を指定しないと、全データが削除されるので注意

6. テーブルの結合(JOIN)

2つのテーブル users(ユーザー情報)と orders(注文情報)があるとします。

CREATE TABLE orders (
id INT PRIMARY KEY AUTO_INCREMENT,
user_id INT,
product VARCHAR(100),
FOREIGN KEY (user_id) REFERENCES users(id)
);

usersorders を結合して取得する場合:

SELECT users.name, orders.product
FROM users
JOIN orders ON users.id = orders.user_id;
  • JOIN でテーブルを結合
  • ON で結合条件を指定

SQLの基本は以上ですが、特定のケースに応じたSQLを書きたい場合は、具体的なシナリオを教えてください!