SQL
SQLとは
データベース内のデータを操作するためのデータベース言語です。
SQLを使うと、データベースにデータを格納したり、検索、更新、削除したりといった指示を出すことができます。これは、テーブル形式でデータを管理するリレーショナルデータベース(RDB)の操作に特化しています。
SQL構文
【取得】
基本
SELECT *
FROM テーブル名
「*」(アスタリスク)は「すべてのカラム」と言う意味。
【追加】
基本
INSERT INTO テーブル名
VALUES ('1', 'タカシ', '初ツイート!', '2017/07/05' ,'2017/07/05')
VALUES後の値は設定しているカラムの左から順番に入れたい値を入れていく。
【更新】
基本
UPDATE テーブル名
SET カラム名 = 値, カラム名 = 値
WHERE id = 1
WHERE以降は更新したいレコードの条件をつける。
【削除】
基本
DELETE FROM テーブル名
WHERE 条件
検索の絞込
【ANDとOR】
・ANDの場合
絞込
SELECT *
FROM テーブル名
WHERE 条件 AND 条件
・ORの場合
絞込
SELECT *
FROM テーブル名
WHERE 条件 OR 条件
【比較演算子】
| 比較演算子 | 意味 |
|---|---|
| = | 左右の値が等しい |
| < | 左辺は右辺より小さい |
| > | 左辺は右辺より大きい |
| <= | 左辺は右辺の値以下 |
| >= | 左辺は右辺の値以上 |
| <> | 左右の値が等しくない |
絞込(例)
SELECT *
FROM テーブル名
WHERE 値段 >= 1000
【NULL判定】
・指定のカラムの値がNULLの所の指定
絞込(例)
SELECT *
FROM テーブル名
WHERE カラム名 IS NULL
・指定のカラムの値がNULLではない所の指定
絞込(例)
SELECT *
FROM テーブル名
WHERE カラム名 IS NOT NULL
【LIKE文】
| パターン文字 | 意味 |
|---|---|
| % | 任意の0文字以上の文字列 |
| _(アンダースコア) | 任意の1文字 |
・メモカラムの値に「1月」の前後に任意の0文字以上の文字列がついているレコードの指定
絞込(例)
SELECT *
FROM テーブル名
WHERE メモ LIKE '%1月%'
・メモカラムの値に「1月」で始まり、その後ろに1文字存在するレコード
絞込(例)
SELECT *
FROM テーブル名
WHERE メモ LIKE '1月_'
【BETWEEN演算子】
・ある範囲内に値が収まっているかの判定
絞込(例)
SELECT *
FROM テーブル名
WHERE 出金額 BETWEEN 1000 AND 30000
検索結果の加工
【DISITINCT】
・重複行を除外する
結果加工(例)
SELECT DISTINCT ユーザー名
FROM テーブル名
【ORDER BY】
・結果を並べ替える
結果加工(例)
SELECT *
FROM テーブル名
ORDER BY 金額 DESC
昇順→ASC、 降順→DESC
【LIMIT】
・先頭から数行だけ取得する
結果加工(例)
SELECT *
FROM テーブル名
ORDER BY 金額 DESC LIMIT 3 OFFSET 2
OFFSETをつけると(指定の数字+1)番目のデータを取得してくれる。
【UNION】
・和集合:2つの検索結果を足し合わせたもの
結果加工(例)
SELECT ユーザー名, 年齢, 住所 FROM ユーザー1
UNION
SELECT ユーザー名, 年齢, 住所 FROM ユーザー2
【EXCEPT】
・差集合:最初の検索結果から次の検索結果と重複する部分を取り除いたもの
結果加工(例)
SELECT ユーザー名, 年齢, 住所 FROM ユーザー1
EXCEPT
SELECT ユーザー名, 年齢, 住所 FROM ユーザー2
【INTERSECT】
・積集合:2つの検索結果で重複するもの
結果加工(例)
SELECT ユーザー名, 年齢, 住所 FROM ユーザー1
INTERSECT
SELECT ユーザー名, 年齢, 住所 FROM ユーザー2
演算子と関数
【代表的な演算子】
| 演算子 | 使い方 | 説明 |
|---|---|---|
| + | 数値 + 数値 | 数値同士で足し算をする |
| 日付 + 日付 | 日付を指定日数だけ進める | |
| – | 数値 – 数値 | 数値同士で引き算する |
| 日付 – 数値 | 日付を指定日数だけ戻す | |
| 日付 – 日付 | 日付の差の日数を得る | |
| * | 数値 * 数値 | 数値同士で掛け算する |
| / | 数値 / 数値 | 数値同士で割り算する |
| || | 文字列 || 文字列 | 文字列を連結する |
構文は、まだまだたくさんありますし、データベースの授業としては4日間だったので業務レベルまでは程遠いですが、データベースの知識と仕組み、データベース言語を知ることができました。
とてもいい練習サイトを見つけたのでこちらで学習していこうと思います。
