我经常使用的系统命令的备忘录在PostgreSQL和MySQL中
当进行数据库调查时,我常常对于PostgreSQL和MySQL的命令差异感到困惑,所以我将记住的内容简单记录在这里。
确认连接和数据库
连接到数据库
$ psql -U ユーザ名 DB名
- パスワードの要否は自動的に判断されて、必要な時は入力が促される。
$ mysql -u ユーザ名 -p ;
- パスワードの要否は自動的に判断されず、必要な時に-pがないと接続エラーとなる。
确认数据库
$ psql -U ユーザ名 -l
\l
SHOW DATABASES;
确认架构(仅适用于PostgreSQL)
\dn
数据表定义关系
查看表格列表
\d
SHOW TABLES;
确认表格定义
\d table_name
DESC table_name;
确认完整的表格定义信息。
$ pg_dump database_name -Uuser_name -s -t table_name
SHOW CREATE TABLE table_name;
进程相关
确认正在进行的流程状态
SELECT * FROM pg_stat_activity;
SHOW processlist;
SHOW full processlist; --実行されたSQLも確認。
终止正在运行的进程
SELECT pg_cancel_backend(process_id);
kill process_id;
其他
查看已定义的函数列表
\df
SHOW FUNCTION STATUS;
确认功能的定义
SELECT prosrc FROM pg_proc WHERE proname = 'function_name';
SHOW CREATE FUNCTION function_name;
查看SQL执行计划
EXPLAIN ANALYZE sql;
EXPLAIN sql;
闲谈一下,我认为在理解MySQL的EXPLAIN语句时,阅读汉字的计算机之道是最容易理解的方式。