PROGRAMMING
Warning: Invalid argument supplied for foreach() in /home/mmken1/jiichan.com/public_html/programming/programming.php on line 96
SQLの言語構成
小さなアプリやシステムで扱うデータはテキストファイルでもある程度使えますが、
規模が大きくなると
MySQL・PostgreSQL・SQL Server・Oracleなどのデータベースの使用が欠かせません。
データベース(リレーショナルデータベース)のデータを操作するためにはSQLの知識が必須なので、SQLの勉強をしてみます。
データベースはMySQLを使用しました。使用するテーブルは次のふたつです。
【テーブル:都道府県一覧】
都道府県CD | 都道府県名 |
---|---|
01 | 北海道 |
02 | 青森県 |
03 | 岩手県 |
04 | 宮城県 |
05 | 秋田県 |
06 | 山形県 |
07 | 福島県 |
08 | 茨城県 |
09 | 栃木県 |
10 | 群馬県 |
11 | 埼玉県 |
12 | 千葉県 |
13 | 東京都 |
: | : |
: | : |
【テーブル:市区町村一覧】
都道府県 CD | 市区町村 CD | 確認CD | 団体CD | 市区町村 |
---|---|---|---|---|
01 | 100 | 2 | 011002 | 札幌市 |
01 | 202 | 5 | 012025 | 函館市 |
01 | 203 | 3 | 012033 | 小樽市 |
01 | 204 | 1 | 012041 | 旭川市 |
: | : | : | : | : |
: | : | : | : | : |
DMLとDDL
SQLには、データを操作する言語(DML)とデータを定義する言語(DDL)、さらにデータを制御する言語(DCL)の三つがあります。
データを操作する言語(DML)には次の4つの命令文があります。
1. データの格納されたテーブルに問い合わせ、結果を得る「SELECT」文。
2. テーブルに新規にデータを挿入する「INSERT」文。
3. テーブルに格納されたデータを変更する「UPDATE」文。
4. テーブルのデータ行を削除する「DELETE」文。
データを定義する言語(DDL)には主なものとして次の文(命令)があります。
1. オブジェクト(テーブル・ビューなど)を作成する「CREATE」文。
2. オブジェクトを削除する「DROP」文。
3. オブジェクトの属性を変更する「ALTER」文。
データを制御する言語(DCL)には、
1. トランザクションを確定する「COMMIT」文。
2. トランザクションを取り消す「ROLLBACK」文。
3. データを操作する権限をユーザーに与える「GRANT」文。
などがあります。
この他にも各データベース特有の方言的な命令文があります。
SQL文の基本的な構成
SQL文の基本的な構成を「SELECT」文で示すと
SELECT句 列名、列名、列名 FROM句 テーブル名 WHERE句 条件式
となります。
SELECT 都道府県CD, 市区町村CD, 市区町村名 FROM 都道府県一覧 WHERE 都道府県CD = '02'
この例では、テーブル都道府県一覧から、都道府県CDが02(青森県)のものを条件に、都道府県CD・市区町村CD・市区町村名の項目を抽出されます。
この他に抽出データをグループ化するGROUP BY句、
GROUP BY句で集計した結果に対して抽出条件を指定する際に使用するHAVING句、
抽出データをソートするORDER BY句などが使えます。
今後ページを分けて各命令文を勉強していきます。