命令語の種類について
命令語は、操作の種類ごとにデータ操作言語 (DML)、データ定義言語 (DDL)、データ制御言語 (DCL) の3つに分けられる。
もっとも使用頻度が高いのは DML だが、それぞれの命令語がどれに分類されるかをまとめる。
データ操作言語 (DML)
Data Manipulation Language の略であり、実際のデータを出し入れするための命令となる。
追加、削除したりする対象はレコードであるため、データベースやテーブルの構造を変えたり、削除することはできない。
命令 | 意味 |
---|---|
SELECT | レコードを取得したり検索したりする命令 |
INSERT | レコードを追加する命令 |
DELETE | レコードを削除する命令 |
UPDATE | レコードを更新する命令 |
mysql> SELECT * FROM City LIMIT 10;
+----+----------------+-------------+---------------+------------+
| ID | Name | CountryCode | District | Population |
+----+----------------+-------------+---------------+------------+
| 1 | Kabul | AFG | Kabol | 1780000 |
| 2 | Qandahar | AFG | Qandahar | 237500 |
| 3 | Herat | AFG | Herat | 186800 |
| 4 | Mazar-e-Sharif | AFG | Balkh | 127800 |
| 5 | Amsterdam | NLD | Noord-Holland | 731200 |
| 6 | Rotterdam | NLD | Zuid-Holland | 593321 |
| 7 | Haag | NLD | Zuid-Holland | 440900 |
| 8 | Utrecht | NLD | Utrecht | 234323 |
| 9 | Eindhoven | NLD | Noord-Brabant | 201843 |
| 10 | Tilburg | NLD | Noord-Brabant | 193238 |
+----+----------------+-------------+---------------+------------+
10 rows in set (0.01 sec)
データ定義言語 (DDL)
Data Definition Language の略であり、データベースやテーブルなどの定義に関わる言語である。
どのような形式のデータを入れるのかなど、格納できるデータの書式などを定義する。
命令 | 意味 |
---|---|
CREATE | データベースやテーブルなどを作成する命令 |
DROP | データベースやテーブルなどを削除する命令 |
ALTER | データベースやテーブルの定義を変更する命令 |
mysql> CREATE DATABASE hogehoge;
Query OK, 1 row affected (0.02 sec)
データ制御言語 (DCL)
Data Control Language の略であり、データ操作に関する制御を取り扱う言語。
データベースやテーブル、データ全体に対する権限をユーザーに与えたり、データ操作の単位 (トランザクション) で処理を確定させたり、処理した後で元に戻したりする処理を行う。
命令 | 意味 |
---|---|
GRANT | データベースやテーブルなどに対する権限をユーザーに与える命令 |
REVOKE | GRANT で設定した権限を取り除く命令 |
COMMIT | トランザクションを確定する命令 |
ROLLBACK | トランザクションを取り消す命令 |
mysql> GRANT SELECT ON testdb.* TO 'hoge'@'10.1.11.105';
Query OK, 0 rows affected (0.00 sec)