主题
DDL 与 DML
数据定义语言(DDL)
DDL 用于定义和管理数据库中的结构性对象,如表、视图、索引等。
常用 DDL 操作
创建数据库
sql
CREATE DATABASE mydb;
创建表
sql
CREATE TABLE employees (
id SERIAL PRIMARY KEY,
name TEXT NOT NULL,
hired_at DATE,
salary NUMERIC(10, 2)
);
修改表结构
- 添加列:
sql
ALTER TABLE employees ADD COLUMN department TEXT;
- 修改列类型:
sql
ALTER TABLE employees ALTER COLUMN salary TYPE DECIMAL(15, 2);
- 删除列:
sql
ALTER TABLE employees DROP COLUMN department;
删除对象
- 删除表:
sql
DROP TABLE employees;
- 删除数据库:
sql
DROP DATABASE mydb;
常用数据类型
- ENUM:自定义枚举类型
- ARRAY:数组类型
- JSONB:二进制 JSON 类型,支持高效查询
数据操作语言(DML)
DML 用于处理数据库中的数据,包括插入、更新、删除和查询操作。
插入数据
sql
INSERT INTO employees (name, hired_at, salary)
VALUES ('John Doe', '2024-04-01', 50000);
查询数据
sql
SELECT * FROM employees;
SELECT name, salary FROM employees WHERE salary > 40000;
条件查询
sql
SELECT * FROM employees WHERE department = 'Sales';
排序
sql
SELECT * FROM employees ORDER BY salary DESC;
聚合函数
- COUNT:计数
- AVG:平均值
- SUM:求和
- MAX / MIN:最大/最小值
sql
SELECT department, AVG(salary) FROM employees GROUP BY department;
连接查询
sql
SELECT employees.name, departments.name
FROM employees
JOIN departments ON employees.department_id = departments.id;
更新数据
sql
UPDATE employees SET salary = 55000 WHERE id = 1;
删除数据
sql
DELETE FROM employees WHERE id = 1;
小结
DDL 和 DML 是 PostgreSQL 中最基本且最常用的 SQL 操作。通过 DDL 定义数据库结构,再使用 DML 对数据进行管理,完成各类应用场景的需求。