SQLは、DBMSを操作するための言語デス。
あ、DBMSってなんだったっけ?
SQL(Structured Query Language)
SQLは、データベース管理システム(DBMS)を操作するための言語です。
データベースデータの検索、追加、更新、削除などの操作を行うことができます。
このHPではMySQLをベースにしてイマス。
基本文ルール
・単語の途中でなければ改行できます。
・空白は半角で入れる(全角はエラーになる)。
・コメントは1行なら(– )複数行なら(/* */)で書ける。
・テーブル名や列名に予約語は使えない。
大文字でも小文字でも実行できますが、一般的にキーワード(コマンドやテーブル名など)は大文字で表記し、データや列名は小文字で表記します。
MySQLはセミコロン(;)で終了します。
/* コメント書ける */
SELECT 列名1, 列名2, ... --,SELECT,とかはダメ
FROM テーブル名
WHERE 条件;
※予約語:プログラミング言語であらかじめ決めたスペル(綴り)と意味があり、それ以外の意味では使えない
この文は、テーブル名から列名1、列名2などの列を条件に沿って検索する文です。
大文字で打つの、ちょっと面倒。。。
CapsLockを忘れてマスネ。
SQLの4大命令
SELECT文
SELECT文は、テーブルからデータを検索する命令です。
SELECT 列名1, 列名2, ...
FROM テーブル名;
テーブル名から列名1、列名2などの列を検索するコードです。
WHERE句を使用して、検索条件を指定することもできます。
SELECT 列名1, 列名2, ...
FROM テーブル名
WHERE 条件;
例
名前 | 年齢 |
山田太郎 | 25 |
テーブル名に「名前」と「年齢」の列があり、名前が「山田太郎」で年齢が20歳以上のデータを検索するには、以下の文を使用します。
ベタな名前やな・・
SELECT 名前, 年齢
FROM テーブル名
WHERE 名前 = '山田太郎' AND 年齢 >= 20;
※条件に合ったデータが表示されますが、元データは変更されません。
INSERT文
INSERT文は、テーブルにデータを追加する命令です。
INSERT INTO テーブル名 (列名1, 列名2, ...)
VALUES (値1, 値2, ...);
テーブル名に列名1、列名2などの列に値1、値2などの値を追加する文です。
例
テーブル名に「名前」と「年齢」の列があり、名前を「山田花子」で年齢を21歳としてデータを追加するには、以下の文を使用します。
INSERT INTO テーブル名 (名前, 年齢)
VALUES ('山田花子', 21);
名前 | 年齢 |
山田花子 | 21 |
UPDATE文
UPDATE文は、テーブルのデータを更新する命令です。
UPDATE テーブル名
SET 列名1 = 値1, 列名2 = 値2, ...
WHERE 条件;
この文は、条件に合致するデータの列名1、列名2などの列を値1、値2などの値に更新する文です。
例
テーブル名に「名前」と「年齢」の列があり、名前を「山田太郎」から「山田花子」に更新するには、以下の文を使用します。
UPDATE テーブル名
SET 名前 = '山田花子'
WHERE 名前 = '山田太郎';
名前 | 年齢 |
山田太郎 | 25 |
実行すると↓
名前 | 年齢 |
山田花子 | 25 |
DELETE文
DELETE文は、テーブルのデータを削除する命令です。
DELETE FROM テーブル名;
この文は、テーブル名のすべてのデータを削除する文です。
WHERE句を使用して、削除条件を指定することもできます。
DELETE FROM テーブル名
WHERE 条件;
この文は、条件に合致するデータを削除する文です。
例
テーブル名に「名前」と「年齢」の列があり、名前が「山田太郎」のデータを削除するには、以下の文を使用します。
DELETE FROM テーブル名
WHERE 名前 = '山田太郎';
名前 | 年齢 |
山田太郎 | 25 |
山田花子 | 21 |
実行すると↓
名前 | 年齢 |
山田花子 | 21 |
SQLの4大命令
まとめマス
- SELECT文:テーブルからデータを検索します。
- INSERT文:テーブルにデータを追加します。
- UPDATE文:テーブルのデータを更新します。
- DELETE文:テーブルのデータを削除します。
一見簡単そうだけど・・・そうもいかないのかな?