CREATE TABLE
テーブルの作成をする際にcreate tableを実行。
| id |
name |
gender |
| 1 |
yamada |
male |
| 2 |
hanako |
female |
このようなテーブルを作りたいとして、以下のsqlを書く。
CREATE TABLE user(
id VARCHAR(4) NOT NULL,
name VARCHAR(20) NOT NULL,
gender VARCHAR(20) NOT NULL,
PRIMARY KEY (id);
)
INSERT
テーブルにレコードを追加するときに使う。
INSERT INTO users(name, gender)
VALUES('its', 'male');
| id |
name |
gender |
| 1 |
yamada |
male |
| 2 |
hanako |
female |
| 3 |
its |
male |
SELECT
テーブルを取得するためにカラムを指定する。*を用いることでテーブル全体を指定することも可能。
FROM
どのテーブルからデータをとってくるか指定する。
テーブルのデータを丸々とってくる
| id |
name |
gender |
| 1 |
yamada |
male |
| 2 |
hanako |
female |
| 3 |
its |
male |
テーブルのカラムで指定
テーブルの複数カラムで指定
SELECT name,gender
FROM users;
| name |
gender |
| yamada |
male |
| hanako |
female |
| its |
male |
DELETE
指定のデータを削除することができる。
Whereを用いることで条件をつけることができる。
テーブル削除
テーブルの指定したものを削除
DELETE FROM users
WHERE name = 'its';
| id |
name |
gender |
| 1 |
yamada |
male |
| 2 |
hanako |
female |
UPDATE
テーブルの内容を更新するときに使う。
DELETE同様にWhereを用いて条件をつけることができる。
UPDATE users
SET gender = 'female'
WHERE name = 'yamada';
| id |
name |
gender |
| 1 |
yamada |
female |
| 2 |
hanako |
female |
AS
データを取得する際に、カラム名(テーブル名も)を別名をつけることができる。
SELECT name as '名前', gender as '性別'
FROM users
| 名前 |
性別 |
| yamada |
male |
| hanako |
female |
EXISTS
EXISTSはサブクエリが返す値をbooleanで返し、trueの時にメインクエリを実行する。
ここではuserテーブルのnameにyamadaが存在していたらuserテーブルを返すという処理をしている。
SELECT * FROM users
WHERE EXISTS
(SELECT * FROM users
WHERE name = 'yamada');
| id |
name |
gender |
| 1 |
yamada |
male |
| 2 |
hanako |
female |
DISTINCT
重複したデータを取り除いて、データを取得することができる。
同じ名前の人が二人いるとして
| id |
name |
gender |
| 1 |
yamada |
male |
| 2 |
hanako |
female |
| 3 |
hanako |
female |
SELECT distinct name
FROM users
ORDER BY
データを並び替える時に使う。
列ごとに昇順 (ASC) 降順 (DESC) を指定することができる。デフォルトは昇順となっている。
SELECT *
FROM users
ORDER BY id DESC;
| id |
name |
gender |
| 2 |
hanako |
female |
| 1 |
yamada |
female |
COUNT
COUNTはレコード数を取得する。
SELECT COUNT(*)
FROM users
| id |
name |
gender |
| 1 |
yamada |
male |
| 2 |
hanako |
female |
GROUP BY
指定したカラムの値を基準にデータをグループ化し、集計関数を用いて複数のデータをまとめて計算することができる。
| id |
name |
gender |
| 1 |
yamada |
male |
| 2 |
hanako |
female |
| 3 |
its |
male |
SELECT gender, COUNT(*) as count
FROM users GROUP BY gender
| gender |
count |
| male |
2 |
| female |
1 |
Discussion