接続
| 操作項目 | 共通・MySQL | PostgreSQL | 備考 |
|---|---|---|---|
| RDBMSへの接続 | mysql -u ユーザー名 -p | psql -u ユーザー名 -p | [-p データベース名] で指定したデータベースにそのまま接続できる。 |
| 特定のホストサーバへの接続 | mysql -u ユーザー名 -h ホスト名 -p | psql -u ユーザー名 -h ホスト名 -p | |
| 接続終了 | \q | または [quit] |
便利
| 操作項目 | 共通・MySQL | PostgreSQL | 備考 |
|---|---|---|---|
| コマンド一覧表示 | mysql -? | psql -? | または [mysql –help] |
| コマンドの詳細を表示 | [ヘルプを表示したいコマンド] -? | ||
| 取り消し | \c | ¥r | または [clear] |
データベース設定
| 操作項目 | 共通・MySQL | PostgreSQL | 備考 |
|---|---|---|---|
| データベース一覧表示 | SHOW DATABASES; | \l | |
| データベースへの接続 | USE データベース名; | \c データベース名 | |
| データベースの作成 | CREATE DATABASE データベース名; | [DEFAULT CHARACTER SET utf8]で文字コードを指定できる。 | |
| データベースの削除 | DROP DATABASE データベース名; |
テーブル設定
| 操作項目 | 共通・MySQL | PostgreSQL | 備考 |
|---|---|---|---|
| テーブルの一覧表示 | SHOW TABLES; | \dt | |
| テーブルの作成 | CREATE TABLE テーブル名( フィールド名1 型1, フィールド名2 型2, フィールド名3 型3, PRIMARY KEY(フィールド名n) ); | 型やPRIMARY KEY以外にも属性を設定可。 | |
| テーブルの変更 | ALTER TABLE テーブル名 RENAME TO 新しいテーブル名; | ||
| テーブルの削除 | DROP TABLE テーブル名; | ||
| フィールドの変更 | ALTER TABLE テーブル名 CHANGE 変更前のフィールド名 変更後のフィールド名 型 属性; | ||
| フィールドの追加 | ALTER TABLE テーブル名 ADD フィールド名4 型4 NOT NULL, フィールド名5 型5 AFTER フィールド名, フィールド名6 型6 DEFAULT ‘初期値’; | ||
| カラムの削除 | ALTER TABLE テーブル名 DROP 削除するフィールド名; | ||
| テーブルのフィールド一覧表示 | DESC テーブル名; | \d テーブル名 | または [SHOW COLUMNS(またはFIELDS) FROM テーブル名] |
データ入力
| 操作項目 | 共通・MySQL | PostgreSQL | 備考 |
|---|---|---|---|
| テーブルへのデータ新規入力 | INSERT INTO テーブル名( フィールド名1, フィールド名2 ) VALUES( 値1, 値2 ); | 全てのカラムに対応した順番で値を入力するのであれば、フィールド名は省略可。 | |
| テーブルのデータ変更 | UPDATE テーブル名 SET フィールド名1=値1, フィールド名2=値2 WHERE 変更したいデータに対応するフィールド名=対応する値; |
データ削除
| 操作項目 | 共通・MySQL | PostgreSQL | 備考 |
|---|---|---|---|
| テーブルのデータ削除 | DELETE FROM テーブル名 WHERE 変更したいデータに対応するフィールド名=対応する値; |
データ閲覧
| 操作項目 | 共通・MySQL | PostgreSQL | 備考 |
|---|---|---|---|
| 全レコードの一覧表示 | SELECT * FROM テーブル名; | 頭に [EXPLAIN] を付けると、SQL文のパフォーマンスを確認できる。 | |
| 内部結合 | SELECT a.フィールド名1, a.フィールド名2 テーブル名1 AS a INNER JOIN テーブル名2 AS b ON (a.フィールド名3 = b.フィールド名3); | ||
| 外部結合 | SELECT a.フィールド名1, a.フィールド名2 テーブル名1 AS a LEFT OUTER JOIN テーブル名2 AS b ON (a.フィールド名3 = b.フィールド名3); |
データベースのバックアップ
| 操作項目 | 共通・MySQL | PostgreSQL | 備考 |
|---|---|---|---|
| 全てのデータベースのエクスポート | mysqldump -u root -p -x –all-databases > dump.sql(任意のファイル名.sql) | DBのバックアップに使える。 | |
| 特定のデータベースのエクスポート | mysqldump -u ユーザー名 -h -p データベース名 > dump.sql(任意のファイル名.sql) | ||
| 全てのデータべースのインポート | mysql -u root -p < dump.sql(任意のファイル名.sql) | ||
| 特定のデータべースのインポート | mysql -u ユーザー名 -h -p データベース名 < dump.sql(任意のファイル名.sql) |
インデックス
| 操作項目 | 共通・MySQL | PostgreSQL | 備考 |
|---|---|---|---|
| インデックスの追加 | ALTER TABLE テーブル名 ADD INDEX インデックス名(フィールド名); | カラム名を複数指定すると、複合インデックスになる。 | |
| インデックスの削除 | ALTER TABLE テーブル名 DROP INDEX インデックス名; |
一意の識別子
| 操作項目 | 共通・MySQL | PostgreSQL | 備考 |
|---|---|---|---|
| AUTO_INCREMENTの設定例 | CREATE TABLE テーブル名( id INT(8) NOT NULL AUTO_INCREMENT, name VARCHAR(20) NOT NULL, PRIMARY KEY(id) ); | 例えば、 INSERT INTO テーブル名(name) VALUES(‘名前1’, ‘名前2’, ‘名前3’); と入力するとidに一意の番号が付与される。 |

