0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

SQL文簡単なまとめ

Last updated at Posted at 2020-12-18

SQL文の基礎

データの取得(SELECT)

データを取得する。

列を指定して取得
SELECT 列1, 列2, … FROM テーブル名;

全ての列を指定して取得
SELECT * FROM テーブル名;

列に別名をつける(AS)

「列名 as 付けたい名前」とすることで、列に別名をつけられる。

SELECT name AS 名前, age AS 年齢 FROM users;

条件を指定してデータを取得(WHERE)

WHEREを使って条件を指定する。

SELECT 列1, 列2, … FROM テーブル名 WHERE 条件;

比較演算子

= 等しい
> より大きい
>= 以上
< より小さい
<= 以下
<> 等しくない
!= 等しくない
in ある値が含まれているか
not in ある値が含まれていないか
is null 値がnull
is not null 値がnullではない
like パターンマッチング,あいまい検索
between A and B 値がAとBの間に含まれているか

パターンマッチング

ワイルドカード文字(%,_)を使って文字列のパターンを指定する。

% 0文字以上の任意の文字列
_ 任意の1文字

'り%' りで始まる文字列 りんご
'%菜%' 菜を含む文字列 野菜ジュース
'%ト' トで終わる文字列 デザート
'___ケーキ' 何か3文字で始まり、ケーキで終わる文字列 いちごケーキ

取得件数を制限(LIMIT)

LIMITを使って取得件数を絞る。

OFFSET使う場合
SELECT 列1, 列2, … FROM テーブル名 LIMIT 行数 OFFSET 開始位置;
OFFSET使わない場合
SELECT 列1, 列2, … FROM テーブル名 LIMIT 開始位置, 行数;

データの追加・更新・削除(INSERT,UPDATE,DELETE)

INSERTでデータを追加する

INSERT INTO テーブル名 (列1, 列2, …) VALUES (値1, 値2, …);

列を省略してINSERTする場合 *テーブルの全列に値指定する必要あり
INSERT テーブル名 VALUES (値1, 値2, …);

複数行に同時にINSERTする場合
INSERT INTO 
  テーブル名 (列1, 列2, …) 
VALUES 
  (値1, 値2, …),
  (値1, 値2, …),
  (値1, 値2, …);

UPDATEでデータを更新する。

UPDATE テーブル名 SET 列1 = 値1, 列2 = 値2,… WHERE 条件式;

DELETEで行を削除する。

DELETE FROM テーブル名 WHERE 削除条件;

データの集約

集約関数

集約関数 説明
SUM() 合計を返す
AVG() 平均を返す
MAX() 最大値を返す
MIN() 最小値を返す
COUNT() 個数を返す

count(*)でテーブルの行数を取得できる

データをグループ化(GROUP BY)

GROUP BYで列名を指定してグループ化する

SELECT
  列名
FROM
  テーブル名
GROUP BY 
  列名;

集約結果に対して条件を指定(HAVING)

集約結果をさらに絞る場合にHAVINGを使用する

SELECT
  列名
FROM
  テーブル名
WHERE
  条件式
GROUP BY 
  列名
HAVING
  条件式;

データの並び替え(ORDER BY)

ORDER BYで指定した列を並び替える

ORDER BY 列名,式,並び順,…

ASC 昇順(デフォルト)
DESC 降順

データの結合

サブクエリ

条件をさらに絞り込む。

SELECT
  列名,…
FROM
  テーブル名
WHERE
  列名 演算子(SELECT 列名 FROM テーブル名 …);

条件分岐(CASE)

条件によって返す値を変える。

case
  when 条件式1 then 値1
  when 条件式2 then 値2
  else 値3
end

データベース操作

データベースの追加

データベースを新たに追加する。

CREATE DATABASE データベース名;

データベースの削除

データベースを削除する。

DROP DATABASE データベース名;

テーブルの追加

テーブルを新たに追加する。

CREATE TABLE テーブル名(列名1 データ型や順序など,列名2 データ型や順序など, …);

テーブルの削除

テーブルを削除する。

DROP TABLE テーブル名;

列名の削除

列を削除する。

ALTER TABLE テーブル名 drop 列名;
0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?