Q1SQLでテーブルを新規作成するときに使う文はどれですか?
SQL入門
SQL の基本コマンド SELECT / INSERT / WHERE / CREATE をハンズオンで学びます。users テーブルを題材にデータベースの基本操作を一通り押さえます。
SQLとは何か
SQL(Structured Query Language)は、リレーショナルデータベースを操作するための言語です。データの作成・取得・更新・削除(CRUD)をシンプルな英語に近い構文で記述できます。Webアプリ・分析・業務システムなど、あらゆる場面で使われる必須スキルです。
テーブルとは
SQLのデータはテーブル(表)に格納されます。テーブルは列(カラム)と行(レコード)で構成され、Excelの表をイメージすると分かりやすいです。各列には名前とデータ型が定義されています。
テーブルは行(レコード)と列(カラム)からなる表形式のデータ構造です。各列には名前と型が定義されています。
CREATE TABLE — テーブルを作る
CREATE TABLE 文でテーブルを定義します。テーブル名、各列の名前とデータ型、制約(PRIMARY KEY など)を指定します。下のコンソールで実際に実行してみましょう。
CREATE TABLE users (
id INTEGER PRIMARY KEY,
name TEXT NOT NULL,
age INTEGER
);
INSERT — データを追加する
INSERT INTO 文でテーブルに行を追加します。VALUES 句に列の順番に合わせた値を指定します。練習として4人目のユーザー Dave(28歳)を追加してみましょう。
INSERT INTO users (name, age) VALUES ('Alice', 30);
INSERT INTO users (name, age) VALUES ('Bob', 25);
INSERT INTO users (name, age) VALUES ('Carol', 35);
SELECT — データを取得する
SELECT 文でテーブルからデータを取得します。* はすべての列を意味します。特定の列だけ取得したい場合は列名をカンマ区切りで指定します。練習として名前と年齢だけを取得し、30歳以上に絞り込んでみましょう。
-- 全列取得
SELECT * FROM users;
-- 特定列だけ取得
SELECT name, age FROM users;
WHERE — 条件で絞り込む
WHERE 句で取得する行を条件で絞り込めます。比較演算子(=, <>, >, <, >=, <=)や AND / OR で複数条件を組み合わせることができます。
-- 年齢が30以上
SELECT * FROM users WHERE age >= 30;
-- 名前が 'Alice'
SELECT * FROM users WHERE name = 'Alice';
-- AND で複合条件
SELECT * FROM users WHERE age >= 25 AND name <> 'Bob';
理解度チェック
まずは1問ずつ答えてみましょう。
Q2テーブルの行(レコード)を追加するSQL文はどれですか?
Q3特定の条件に一致する行だけを取得したいとき、SELECT文に追加するキーワードはどれですか?