今回はデータベース管理で覚えておくべきコマンドをまとめた記事を作成します。
- データベース全般で使う基本コマンド
データベース一覧の表示
データベースに接続後、すべてのデータベースを一覧表示するためのコマンドです。
MySQL:
SHOW DATABASES;
PostgreSQL:
\l
データベースの作成
新しいデータベースを作成するためのコマンドです。
MySQL & PostgreSQL:
CREATE DATABASE データベース名;
データベースの削除
不要になったデータベースを削除するコマンドです。削除は慎重に行いましょう。
MySQL & PostgreSQL:
DROP DATABASE データベース名;
データベースに接続
作成したデータベースに接続して操作を行います。
MySQL:
USE データベース名;
PostgreSQL:
\c データベース名
- テーブル操作の基本コマンド
テーブル一覧の表示
データベース内のすべてのテーブルを表示します。
MySQL:
SHOW TABLES;
PostgreSQL:
\dt
テーブルの作成
テーブルを作成するためのコマンドです。フィールド名、データ型などを指定します。
MySQL & PostgreSQL:
CREATE TABLE テーブル名 (
id SERIAL PRIMARY KEY,
name VARCHAR(100),
age INT
);
テーブルの削除
テーブルを削除するコマンドです。削除するとデータも消えるため注意が必要です。
MySQL & PostgreSQL:
DROP TABLE テーブル名;
テーブルの内容を確認
テーブルの構造(フィールドやデータ型など)を確認するコマンドです。
MySQL:
DESCRIBE テーブル名;
PostgreSQL:
\d テーブル名
- データの操作に関するコマンド
データの挿入
テーブルに新しいデータを挿入するコマンドです。
MySQL & PostgreSQL:
INSERT INTO テーブル名 (name, age) VALUES ('John Doe', 25);
データの更新
既存のデータを変更するコマンドです。
MySQL & PostgreSQL:
UPDATE テーブル名
SET name = 'Jane Doe', age = 30
WHERE id = 1;
データの削除
指定した条件に基づいてデータを削除するコマンドです。
MySQL & PostgreSQL:
DELETE FROM テーブル名
WHERE id = 1;
データの検索
条件に基づいてデータを取得します。SELECT文はデータベース操作の基本です。
MySQL & PostgreSQL:
SELECT * FROM テーブル名;
条件を指定してデータを検索する場合:
SELECT * FROM テーブル名 WHERE age > 20;
- インデックス操作
インデックスの作成
インデックスを作成することで、データの検索パフォーマンスを向上させることができます。
MySQL & PostgreSQL:
CREATE INDEX idx_name ON テーブル名 (name);
インデックスの削除
インデックスが不要になった場合は削除することができます。
MySQL:
DROP INDEX idx_name ON テーブル名;
PostgreSQL:
DROP INDEX idx_name;
- トランザクションの操作
トランザクションは、複数のSQL文を一括して実行し、データの一貫性を保つために使用されます。
トランザクションの開始
トランザクションを開始します。
MySQL & PostgreSQL:
BEGIN;
トランザクションのコミット
変更を確定してトランザクションを終了します。
MySQL & PostgreSQL:
COMMIT;
トランザクションのロールバック
エラーなどが発生した場合、トランザクションの内容を元に戻します。
MySQL & PostgreSQL:
ROLLBACK;
- ユーザーと権限に関するコマンド
新しいユーザーの作成
データベースに新しいユーザーを作成します。
MySQL:
CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
PostgreSQL:
CREATE USER username WITH PASSWORD 'password';
ユーザーに権限を付与
ユーザーに対して、特定のデータベースへの権限を付与します。
MySQL:
GRANT ALL PRIVILEGES ON データベース名.* TO 'username'@'localhost';
PostgreSQL:
GRANT ALL PRIVILEGES ON DATABASE データベース名 TO username;
権限の確認
ユーザーに対してどの権限が付与されているかを確認します。
MySQL:
SHOW GRANTS FOR 'username'@'localhost';
PostgreSQL:
\du
- データベースのバックアップとリストア
バックアップの作成
データベース全体のバックアップを作成するコマンドです。
MySQL(コマンドラインから):
mysqldump -u root -p データベース名 > backup.sql
PostgreSQL(コマンドラインから):
pg_dump データベース名 > backup.sql
バックアップからリストア
バックアップファイルからデータをリストアするコマンドです。
MySQL(コマンドラインから):
mysql -u root -p データベース名 < backup.sql
PostgreSQL(コマンドラインから):
psql データベース名 < backup.sql
今回はデータベース管理で覚えておくべきコマンドをまとめた記事を作成しました。