PGsql的常用命令(对比mysql)

PostgreSQL vs MySQL 常用命令对比

一、连接数据库

操作 PostgreSQL MySQL
连接 psql -U user -d db mysql -u user -p db
切换数据库 \c dbname USE dbname;

区别:

  • PostgreSQL 使用 \c
  • MySQL 使用 USE

二、查看数据库

操作 PostgreSQL MySQL
查看数据库 \l 或查询系统表 SHOW DATABASES;

区别:

  • PostgreSQL 支持系统表查询(更灵活)
  • MySQL 使用 SHOW

三、查看表

操作 PostgreSQL MySQL
查看表 \dt SHOW TABLES;
表结构 \d 表名 DESC 表名;

区别:

  • \d 是 PostgreSQL 客户端命令
  • MySQL 使用 SQL 语句

四、创建表

sql 复制代码
-- PostgreSQL
CREATE TABLE users (
    id SERIAL PRIMARY KEY,
    name TEXT
);

-- MySQL
CREATE TABLE users (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(255)
);

区别:

  • PostgreSQL 使用 SERIAL
  • MySQL 使用 AUTO_INCREMENT

五、插入数据

sql 复制代码
INSERT INTO users (name) VALUES ('Alice');

获取自增 ID:

sql 复制代码
-- PostgreSQL
INSERT INTO users (name) VALUES ('Alice') RETURNING id;

-- MySQL
INSERT INTO users (name) VALUES ('Alice');
SELECT LAST_INSERT_ID();

六、分页查询

sql 复制代码
-- PostgreSQL
SELECT * FROM users LIMIT 10 OFFSET 20;

-- MySQL
SELECT * FROM users LIMIT 20, 10;

区别:

  • PostgreSQL:LIMIT + OFFSET
  • MySQL:LIMIT offset, count

七、字符串拼接

sql 复制代码
-- PostgreSQL
SELECT 'Hello' || ' World';

-- MySQL
SELECT CONCAT('Hello', ' World');

八、布尔值

sql 复制代码
-- PostgreSQL
SELECT * FROM users WHERE active = true;

-- MySQL
SELECT * FROM users WHERE active = 1;

区别:

  • PostgreSQL 有原生 boolean 类型
  • MySQL 通常用 0/1

九、更新/删除

sql 复制代码
UPDATE users SET name = 'Bob' WHERE id = 1;
DELETE FROM users WHERE id = 1;

PostgreSQL 支持返回结果:

sql 复制代码
UPDATE users SET name = 'Bob' RETURNING *;

十、事务

sql 复制代码
BEGIN;
COMMIT;
ROLLBACK;

区别:

  • MySQL 默认开启自动提交
  • PostgreSQL 默认事务更严格

十一、当前信息

操作 PostgreSQL MySQL
当前数据库 SELECT current_database(); SELECT DATABASE();
当前用户 SELECT current_user; SELECT USER();

十二、索引

sql 复制代码
CREATE INDEX idx_name ON users(name);

区别:

  • PostgreSQL 支持更多高级索引类型(GIN、GiST 等)
  • MySQL 常用 B-Tree

相关推荐
半点闲8 小时前
入门 SQLAlchemy 教程:从 0 到 1 创建数据库
数据库·python·sqlite·sqlalchemy
xcjbqd08 小时前
CSS如何给Bootstrap侧边菜单加图标_使用font-awesome结合CSS
jvm·数据库·python
KevinCh8 小时前
Vespa:面向 AI 时代的检索与排序服务平台
数据库
Rick19939 小时前
Redis查询为什么快
数据库·redis·缓存
fly spider9 小时前
MySQL索引篇
android·数据库·mysql
oradh9 小时前
Oracle数据库表存储基本概述
数据库·oracle·oracle基础·oracle入门·oracle表存储
为什么不问问神奇的海螺呢丶9 小时前
Oracle Golden Gate 19c 微服务版 (19.1.0.0.4) 静默安装
数据库·微服务·oracle
NineData9 小时前
使用NineData实现MySQL异地多活场景
运维·数据库·mysql
森叶9 小时前
逻辑仲裁者:实现多事件关联匹配与事务原子化后执行逻辑的技术方案
数据库·oracle