データベースのDMLとは?初心者でもわかるデータ操作言語の基本と使い方
生徒
「先生、データベースを勉強していたら“DML”って出てきたんですけど、これは何をするものなんですか?」
先生
「DMLは、データ操作言語のことで、英語ではData Manipulation Language(データ マニピュレーション ランゲージ)といいます。読み方はDML(ディーエムエル)です。」
生徒
「なるほど、DDLと名前が似ていますね。違いは何なんですか?」
先生
「良いところに気づきましたね。DDLがテーブルの“構造”を作る言語なのに対して、DMLはテーブルの中身である“データ”を操作するための言語なんです。」
生徒
「つまり、DMLを使えばデータを追加したり、変更したり、削除したりできるということですか?」
先生
「その通りです!代表的な命令にはINSERT、UPDATE、DELETE、SELECTがあります。それぞれの使い方をこれから詳しく見ていきましょう。」
1. DMLとは?意味と役割をやさしく解説
DMLとは「Data Manipulation Language(データ マニピュレーション ランゲージ)」の略で、日本語ではデータ操作言語と呼ばれます。読み方はDML(ディーエムエル)です。DMLは、データベース(Database:データベース)の中にあるテーブルのデータを追加・更新・削除・検索するための命令群です。
たとえば、社員情報を登録したり、商品の価格を変更したり、注文履歴を削除したりする操作はすべてDMLの範囲です。データベースを実際に使う場面では、最もよく使われるのがこのDMLです。
2. DMLの主な命令:INSERT・UPDATE・DELETE・SELECT
DMLにはいくつかの命令がありますが、基本となるのは次の4つです。どれもよく出てくる重要な構文なので、しっかり理解しておきましょう。
① INSERT(インサート)文
INSERT文は、テーブルに新しいデータを追加(登録)するための命令です。例えば、社員テーブルに新しい社員を追加する場合は次のように書きます。
INSERT INTO 社員 (社員ID, 名前, 部署)
VALUES (101, '佐藤', '営業');
このように、INSERT文では「どのテーブルに」「どんな値を」入れるのかを指定します。プログラムで新しいレコードを追加するときにも、この命令が使われます。
② UPDATE(アップデート)文
UPDATE文は、すでに存在しているデータを変更するための命令です。例えば、部署の名前を変更したいときには次のように書きます。
UPDATE 社員
SET 部署 = '企画'
WHERE 社員ID = 101;
UPDATE文では、変更する列(カラム)と条件を指定します。WHERE句(ウェアク)を忘れると、すべてのデータが一斉に変更されてしまうので注意が必要です。
③ DELETE(デリート)文
DELETE文は、テーブルのデータを削除する命令です。特定の社員の情報を削除したい場合は、次のように書きます。
DELETE FROM 社員
WHERE 社員ID = 101;
DELETE文もUPDATEと同様、WHERE句で削除する条件を指定します。条件を省略すると全データが削除されるため、実務では特に慎重に扱う命令です。
④ SELECT(セレクト)文
SELECT文は、テーブルからデータを検索・取得する命令です。例えば、社員の一覧を表示したい場合は次のように書きます。
SELECT * FROM 社員;
この命令を実行すると、社員テーブルに登録されているすべてのデータが表示されます。特定の部署だけを取り出したいときには、WHERE句を使って条件を指定します。
3. DMLの実行とトランザクションの関係
DMLの操作は「トランザクション(Transaction:トランザクション)」という単位で管理されます。トランザクションとは、ひとまとまりの処理を安全に実行するための仕組みです。
例えば、複数のテーブルに同時にデータを追加するとき、途中でエラーが起きるとデータが中途半端な状態になってしまいます。これを防ぐために、DMLではCOMMIT(コミット)とROLLBACK(ロールバック)という命令を使って、処理を確定したり取り消したりします。
- COMMIT:変更を確定して保存する
- ROLLBACK:変更を取り消して元に戻す
このように、DMLの命令はデータの変更がすぐに確定するわけではなく、トランザクション制御によって安全に扱うことができます。
4. DMLとDDLの違いを理解しよう
DDL(ディーディーエル:Data Definition Language)はテーブルの構造を作る言語で、DML(ディーエムエル)はその中身を操作する言語です。具体的には、CREATEやALTERなどのDDL命令でテーブルを作り、その後DMLで中のデータを管理していきます。
この2つはセットで覚えるのが基本です。例えば、まずDDLで「社員テーブル」を作り、そのあとDMLで「社員データ」を追加するという流れになります。
5. DMLの実用例と注意点
DMLは日常的に使われる非常に重要な言語です。例えば、ECサイトで新しい商品を登録するのはINSERT文、在庫数を変更するのはUPDATE文、売り切れた商品のデータを削除するのはDELETE文、商品一覧を表示するのはSELECT文です。
ただし、DMLの操作を間違えると大量のデータを失う危険もあります。特にDELETE文やUPDATE文では、条件を正しく指定することが重要です。バックアップを取ってから操作する習慣を身につけておくと安心です。
6. DMLはデータベース操作の基本中の基本
DML(ディーエムエル)は、データベースを扱う上で欠かせない操作言語です。INSERTで追加、UPDATEで変更、DELETEで削除、SELECTで検索。この4つを理解することで、データベースの操作がぐっと身近になります。
これらの命令はSQL(エスキューエル:Structured Query Language)全体の中でも最も頻繁に使われる部分です。最初は基本形から覚えて、徐々に条件指定や集計関数なども学んでいくと良いでしょう。