データベース操作をマスターしよう!DDLとDML
SQLにおけるDDLとDMLとは?
DDL は、データベースの構造を定義するために使用されます。具体的には、以下の操作に使用されます。
- テーブルの作成 (
CREATE TABLE
) - インデックスの作成 (
CREATE INDEX
)
- データの挿入 (
INSERT INTO
) - データの更新 (
UPDATE
) - データの削除 (
DELETE
)
DDLとDMLの比較
項目 | DDL | DML |
---|---|---|
目的 | データベースの構造を定義する | データベース内のデータを操作する |
主なコマンド | CREATE TABLE , ALTER TABLE , DROP TABLE , CREATE INDEX , DROP INDEX | INSERT INTO , UPDATE , DELETE |
コミット | 自動的にコミットされる | 明示的にコミットする必要がある |
例
DDLの例
-- テーブルの作成
CREATE TABLE users (
id INT NOT NULL AUTO_INCREMENT,
name VARCHAR(255) NOT NULL,
email VARCHAR(255) NOT NULL,
PRIMARY KEY (id)
);
-- テーブルの変更
ALTER TABLE users ADD COLUMN age INT;
-- テーブルの削除
DROP TABLE users;
-- データの挿入
INSERT INTO users (name, email) VALUES ('John Doe', '[email protected]');
-- データの更新
UPDATE users SET name = 'Jane Doe' WHERE id = 1;
-- データの削除
DELETE FROM users WHERE email = '[email protected]';
DDLとDMLは、データベースを操作するために使用されるSQLの重要な2つの言語サブセットです。DDLはデータベースの構造を定義するために使用され、DMLはデータベース内のデータを操作するために使用されます。それぞれの役割を理解することで、データベースを効率的に管理することができます。
-- データベースの作成
CREATE DATABASE my_database;
-- テーブルの作成
CREATE TABLE users (
id INT NOT NULL AUTO_INCREMENT,
name VARCHAR(255) NOT NULL,
email VARCHAR(255) NOT NULL,
PRIMARY KEY (id)
);
-- インデックスの作成
CREATE INDEX idx_name ON users (name);
-- テーブルの変更
ALTER TABLE users ADD COLUMN age INT;
-- テーブルの削除
DROP TABLE users;
-- データベースの削除
DROP DATABASE my_database;
-- データの挿入
INSERT INTO users (name, email, age) VALUES ('John Doe', '[email protected]', 30);
INSERT INTO users (name, email, age) VALUES ('Jane Doe', '[email protected]', 25);
-- データの更新
UPDATE users SET name = 'John Smith' WHERE id = 1;
-- データの削除
DELETE FROM users WHERE email = '[email protected]';
-- データの取得
SELECT * FROM users;
SELECT id, name FROM users WHERE age > 25;
-- 集計
SELECT COUNT(*) FROM users;
SELECT AVG(age) FROM users;
上記のサンプルコードは、MySQLデータベースを使用しています。他のデータベースを使用する場合は、構文が多少異なる場合があります。
上記のサンプルコードは、基本的な操作のみを示しています。SQLには、他にも様々な機能があります。詳細については、以下の参考資料を参照してください。
DDLとDMLを使用するその他の方法
データベースのスキーマの変更
DDLを使用して、データベースのスキーマを変更することができます。例えば、以下の操作を行うことができます。
- 新しいテーブルを追加する
- 列のデータ型を変更する
- テーブルを削除する
データのインポートとエクスポート
- CSVファイルからデータをインポートする
- データベースのデータをCSVファイルにエクスポートする
- 別のデータベースにデータをコピーする
データのバックアップと復元
- データベース全体をバックアップする
- 特定のテーブルをバックアップする
- バックアップからデータベースを復元する
データベースの管理
- ユーザーを作成および削除する
- ユーザーの権限を設定する
- データベースのパフォーマンスを監視する
DDLとDMLは、データベースを操作するために使用されるSQLの重要な2つの言語サブセットです。これらの言語サブセットを使用して、さまざまな操作を行うことができます。
sql ddl dml