接続
操作項目 | 共通・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に一意の番号が付与される。 |