**注意:** 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 |