MySQL 8.0 (SQL) 与 PostgreSQL 14 (PSQL 终端) 常用命令对比

**注意:** PostgreSQL 的命令通常在 `psql` 命令行客户端中使用 `\` 开头,而 MySQL 命令是标准的 SQL 语句。

功能描述 MySQL 8.0 命令 (SQL) PostgreSQL 14 命令 (PSQL 终端)
**显示所有数据库** SHOW DATABASES; \l 或 \list
**显示当前数据库的所有表** SHOW TABLES; \dt
**显示用户权限** SHOW GRANTS FOR 'user'@'host'; \du
(显示所有用户及权限)
**查看表结构** DESC table_name;
或 DESCRIBE table_name;
\d table_name
**查看表的完整创建语句** SHOW CREATE TABLE table_name; \d+ table_name
(显示更详细信息,包含创建语句)
**查看表的索引信息** SHOW INDEX FROM table_name; \d table_name
(索引信息在表结构详情中显示)
**创建新数据库** CREATE DATABASE db_name; CREATE DATABASE db_name;
(标准 SQL 语句,psql 或其他客户端通用)
**切换/选择数据库** USE database_name; \c database_name
或 \connect database_name
**创建索引** CREATE INDEX index_name ON table_name (col1, col2); CREATE INDEX index_name ON table_name (col1, col2);
(标准 SQL 语句)
**用户与权限管理**
**创建用户** CREATE USER 'user'@'host' IDENTIFIED BY 'some_password'; CREATE USER username WITH PASSWORD 'some_password';
**授予数据库所有权限** GRANT ALL PRIVILEGES ON db_name.* TO 'user'@'host'; GRANT ALL PRIVILEGES ON DATABASE db_name TO username;
**授予表级所有权限** GRANT ALL ON db_name.table_name TO 'user'@'host'; GRANT ALL ON table_name TO username;
**其他常用管理命令**
**退出命令行客户端** exit 或 quit \q
**显示当前数据库** SELECT DATABASE(); \conninfo
**查看当前所有用户/角色** SELECT user, host FROM mysql.user; \du
**执行 OS Shell 命令** \! command
(较少用)
\! command