MySQLとPostgreSQLのコマンド比較してみる。

前回記事で、コメントの比較しましたが、

これ→ MySQLとPostgreSQLのコメントの書き方のちがい

その実験してたときに、MySQL・PostgreSQLそれぞれのコマンド使ってたんですが、

なかなか違ってて使い分けムズってなったので、メモ用にとのことで書きまーす。

 

参考:

https://qiita.com/aosho235/items/c657e2fcd15fa0647471

https://qiita.com/tamano/items/be43de7bb733ad38362c

 

 

■接続

MySQL
ポイント → 「 -p 」を忘れがち。

mysql -u [ユーザ名] -p
Enter password: 

 

PostgreSQL

psql -U [ユーザ名]
Password for user [ユーザ名]: 

 

 

■データベース一覧をみる

MySQL

[ユーザ名]> show databases;
+--------------------+
| Database           |
+--------------------+
| db_name1           |
| db_name2           |
+--------------------+
3 rows in set (0.00 sec)

postgreSQL

[ユーザ名]=# \l
                                    List of databases
        Name         |    Owner     | Encoding | Collate | Ctype |   Access privileges   
---------------------+--------------+----------+---------+-------+-----------------------
db_name1             | table_user   | UTF8     | C       | C     | 

 

 

■データベースの切り替え

MySQL

[ユーザ名]> \u test_db
Database changed

postgreSQL

[ユーザ名]=# \c test_db
You are now connected to database "test_db" as user "[ユーザ名]".
test_db=# 

 

■テーブル一覧をみる

MySQL

[ユーザ名]> show tables;

postgreSQL

[ユーザ名]=# \d

 

■テーブル定義を確認

MySQL

[ユーザ名]> DESC test_table;
+-------+--------------+------+-----+---------+----------------+
| Field | Type         | Null | Key | Default | Extra          |
+-------+--------------+------+-----+---------+----------------+
| id    | int(11)      | NO   | PRI | NULL    | auto_increment |
| title | varchar(255) | YES  |     | NULL    |                |
| body  | varchar(255) | YES  |     | NULL    |                |
+-------+--------------+------+-----+---------+----------------+
3 rows in set (0.00 sec)

postgreSQL

[ユーザ名]=#\d test_table
                         Table "public.test_table"
 Column |  Type   |                        Modifiers                        
--------+---------+---------------------------------------------------------
 id     | integer | not null default nextval('test_table_id_seq'::regclass)
 title  | text    | 
 body   | text    | 

 

 

■SQLダンプ出力

MySQL

su - [ユーザ名]
mysqldump -p [データベース名] [テーブル名] > [ファイル名].sql

PostgreSQL

su - [ユーザ名]
pg_dump (-t [テーブル名]) [データベース名] > [ファイル名].sql

 

 

うーん地味に違う。

覚えきらんですねw

投稿者:

kin29man

農学部卒の7年目エンジニアです👩‍💻 PHPとGASが好きです!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です