初心者コーダーのための
HTML/CSS JavaScript PHP WordPress
難しい言葉や概念より、実践重視の入門ブログ
MySQL

【MySQL】レコード(行)の基本操作【SELECT, INSERT, UPDATE, DELETE】

この記事は自分のメモのためにとりあえず投稿したもので、コードの記述はありますが説明は不十分です。今後誰が読んでもわかる文章に加筆していく予定です。ご了承ください。

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 = 値;

削除するレコードが子テーブルで使われていると削除できない。