我经常使用的系统命令的备忘录在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语句时,阅读汉字的计算机之道是最容易理解的方式。

广告
将在 10 秒后关闭
bannerAds