この記事は自分のメモのためにとりあえず投稿したもので、コードの記述はありますが説明は不十分です。今後誰が読んでもわかる文章に加筆していく予定です。ご了承ください。
DDL(Data Definition Language):データを定義するための言語(テーブルやカラムの操作)
DML(Data Manipulation Language):データを操作するための言語(レコードの操作)
テーブル:表のこと
カラム:列のこと
レコード:行のこと
基本構文は4種類
- レコードの検索 → SELECT
- レコードの追加 → INSERT
- レコードの編集 → UPDATE
- レコードの削除 → DELETE
SELECT構文:レコードの検索(基本)
select 取得したい情報 as ‘新名称’ from テーブル名 as ‘新名称’ where 条件 order by カラム名;
「取得したい情報」に入るもの一覧
*:全てのカラムを取得、一番使う
カラム名:指定したカラムのみを取得
count(*):レコード件数を取得
sum(カラム名):指定したカラムの合計値
min(カラム名):指定したカラムの最小値
max(カラム名):指定したカラムの最大値
avg(カラム名):指定したカラムの平均値
distinct:重複レコードを省く
as ‘新名称’について
この部分は省略可能
設定すると、以降変数のように用いることができる
SELECT構文:レコードの検索(whereについて)
whereは条件を絞りたい時に用いる
つまり特に条件を絞らず全てを取得したい場合は記述が不要
特定のレコードを検索
where カラム名 = 値
通常カラム名部分はidを用いて、idで検索をする
複数条件で検索
複数条件検索の場合
where カラム名 > 特定の値 and(もしくはor) カラム名 < 特定の値;
and もしくは or で繋ぐことができる
x以上y以下の値で検索したい場合は、
where カラム名 between x and y
でもOK
部分一致検索
where カラム名 like “%キーワード%”
%はなんでもいいよという意味
つまり “キーワード%” とすると、「キーワード」から始まる全てのものがヒットする。
SELECT構文:レコードの検索(limitについて)
例)select カラム名 from テーブル名 limit 2, 5;
2つ飛ばして3つ目から5件表示させる
phpに出力する際などのページネーションに用いる
SELECT構文:レコードの検索(order byについて)
表示順を制御する
昇順(ascending)
order by カラム名 asc
ascは省略可能
降順(descending)
order by カラム名 desc
INSERT構文:レコードの挿入
insert into テーブル名(カラム名, カラム名) values(値1, ‘値2’),
(値3, ‘値4’),
(値5, ‘値6’);
数値はそのまま、文字列はシングルorダブルクオーテーションで囲む。
UPDATE構文:レコードの編集
update テーブル名 set 変更したいカラム名 = 変更後の値 where id = 変更したいレコードのID;
id=変更したいレコードのIDは照合のためのもの。
照合できるのであれば別のカラムでも可能。
DELETE構文:レコードの削除
レコード内全削除
delete from テーブル名 where 条件;
特定のレコードの削除
delete from テーブル名 where id = 値;
削除するレコードが子テーブルで使われていると削除できない。