零基础也能学会的 PostgreSQL 入门 SQL 语句大全(全是干货)

davisz 1月前 167

 

对于刚接触 PostgreSQL 的同学来说,最大的难题不是“我学不会”,而是“我不知道从哪开始学”。别急,这篇文章就是为你写的。

本文整理了 PostgreSQL 数据库入门必须掌握的 SQL 语句,不绕弯,不掉书袋,用最简单的方式帮你建立起 SQL 世界观。学完这篇,你至少能:

  • 会建表

  • 会插入和查询数据

  • 会修改和删除记录

  • 能看懂基本的 SQL 语句

 

一、连接 PostgreSQL 数据库

 

用终端连接 PostgreSQL:

psql -h localhost -U postgres -d mydb

连接成功后,会进入 PostgreSQL 命令行界面,像这样:

mydb=#

 

二、库操作(Database)

 

创建数据库

CREATE DATABASE mydb;

查看所有数据库

\l

或者:

SELECT datname FROM pg_database;

切换数据库(退出后再连接)

\q
psql -d mydb

 

三、表操作(Table)

 

创建表

CREATE TABLE users (
  id SERIAL PRIMARY KEY,
  username TEXT NOT NULL,
  age INT,
  created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

查看表结构

\d users

查看所有表

\dt

 

四、增删改查(CRUD)

 

插入数据(Insert)

INSERT INTO users (username, age) VALUES ('Davis', 25);

查询数据(Select)

SELECT * FROM users;

SELECT username FROM users WHERE age > 18;

修改数据(Update)

UPDATE users SET age = 30 WHERE username = 'Davis';

删除数据(Delete)

DELETE FROM users WHERE username = 'Davis';

 

五、约束(Constraints)

 

常用的约束有:

  • PRIMARY KEY:主键,唯一标识一条记录

  • NOT NULL:字段不能为空

  • UNIQUE:字段值不能重复

  • DEFAULT:字段默认值

例子:

CREATE TABLE products (
  id SERIAL PRIMARY KEY,
  name TEXT UNIQUE NOT NULL,
  price NUMERIC(10, 2) DEFAULT 0.00
);

 

六、排序、分页、聚合

 

排序

SELECT * FROM users ORDER BY age DESC;

分页

SELECT * FROM users LIMIT 5 OFFSET 10;

聚合函数

SELECT COUNT(*) FROM users;
SELECT AVG(age) FROM users;

 

七、表连接(JOIN)

 

SELECT orders.id, users.username
FROM orders
JOIN users ON orders.user_id = users.id;

 

八、用户与权限

 

创建用户

CREATE USER bob WITH PASSWORD '123456';

给权限

GRANT ALL PRIVILEGES ON DATABASE mydb TO bob;

 

PostgreSQL 是一个功能非常强大的数据库,SQL 是和它沟通的语言。本文这些语句虽然基础,但都是日常开发中常用的,掌握它们是你成为 SQL 小能手的第一步。

最新回复 (0)
返回
发新帖