データの追加¶
INSERT INTO文を使用して、テーブルに新しい行を追加します。
INSERT INTO table_name (column1, column2, ...)
VALUES (value1, value2, ...);例えば、usersテーブルにデータを追加する場合は、次のようになります。
CREATE TABLE users (
ID TEXT,
Name TEXT,
Age INTEGER
);
INSERT INTO users (ID, Name, Age)
VALUES ('001', 'Alice', 25);列名の省略¶
すべての列にデータを追加する場合は、列名を省略することもできます。
INSERT INTO users
VALUES ('002', 'Bob', 30);複数行の追加¶
複数の行を一度に追加することもできます。書式は次のとおりです。
INSERT INTO table_name (column1, column2, ...)
VALUES (value1, value2, ...),
(value3, value4, ...);例えば、usersテーブルに複数の行を追加する場合は、次のようになります。
INSERT INTO users (ID, Name, Age)
VALUES ('002', 'Bob', 30),
('003', 'Charlie', 35);データの更新¶
UPDATE文を使用して、既存の行のデータを更新します。
UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;UPDATAE table_name:更新するテーブルの名前を指定します。SET:更新する列と新しい値を指定します。WHERE:更新する行を特定する条件を指定します。条件を省略すると、すべての行が更新されます。
次の例では、usersテーブルのIDが001の行のAgeを26に更新します。
UPDATE users
SET Age = 26
WHERE ID = '001';where句を省略すると、すべての行が更新されます。
次の例では、すべてのユーザーの年齢を1歳ずつ増やします。
UPDATE users
SET Age = Age + 1;データの削除¶
DELETE文を使用して、既存の行を削除します。
DELETE FROM table_name
WHERE condition;DELETE FROM table_name:削除するテーブルの名前を指定します。WHERE:削除する行を特定する条件を指定します。条件を省略すると、すべての行が削除されます。
例えば、IDが001の行を削除する場合は、次のようになります。
DELETE FROM users
WHERE ID = '001';データの選択¶
SELECT文を使用して、テーブルからデータを選択します。
SELECT column1, column2, ...
FROM table_name
WHERE condition;SELECT column1, column2, ...:選択する列を指定します。すべての列を選択する場合は、*を使用します。FROM table_name:選択するテーブルの名前を指定します。WHERE:選択する行を特定する条件を指定します。条件を省略すると、すべての行が選択されます。
例えば、下記のemployeesテーブルがあるとします。
CREATE TABLE employees (
ID TEXT,
Name TEXT,
Age INTEGER,
Department TEXT
);
INSERT INTO employees (ID, Name, Age, Department)
VALUES ('001', 'Alice', 25, 'HR'),
('002', 'Bob', 30, 'IT'),
('003', 'Charlie', 35, 'Finance'),
('004', 'Alice', 28, 'IT');このテーブルからすべての列を選択する場合は、次のようになります。
SELECT * FROM employees;このテーブルからNameとDepartment列を選択する場合は、次のようになります。
SELECT Name, Department FROM employees;IT部門の従業員のIDと名前を選択する場合は、次のようになります。
SELECT ID, Name
FROM employees
WHERE Department = 'IT';年齢が30歳以下の従業員の名前を選択する場合は、次のようになります。
SELECT Name
FROM employees
WHERE Age <= 30;下記のように出力されます。
Name
Alice
Bob
AliceSELECT DISTINCT¶
SELECT DISTINCTを使用すると、重複する行を除外して選択することができます。
SELECT DISTINCT column1, column2, ...
FROM table_name;練習¶
下記のemployeesテーブルがあるとします。
CREATE TABLE employees (
ID TEXT PRIMARY KEY,
Name TEXT NOT NULL,
Age INTEGER CHECK (Age >= 18),
Department TEXT
);このテーブルに対して、以下の操作を行ってください。
('001', 'Alice', 25, 'HR'), ('002', 'Bob', 30, 'IT'), ('003', 'Charlie', 35, 'Finance')のデータを追加せよ。001の行のDepartmentをITに更新せよ。IDが001の行を削除せよ。IDが002の行を選択せよ。- 年齢が30歳以上の従業員の名前を選択せよ。