PostgreSQL 支持标准的 SQL 语句,同时也扩展了一些特有的功能。以下是一些常规的 SQL 语句示例,这些示例涵盖了数据定义、数据操作和数据查询的基本操作:
数据定义语言 (DDL
-
创建数据库:
CREATE DATABASE mydatabase;
-
创建表:
CREATE TABLE customers ( customer_id SERIAL PRIMARY KEY, name VARCHAR(100), email VARCHAR(100) UNIQUE, join_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP );
-
创建索引:
CREATE INDEX idx_customer_name ON customers (name);
-
创建视图:
CREATE VIEW active_customers AS SELECT customer_id, name, email FROM customers WHERE join_date > NOW() - INTERVAL '1 year';
-
创建模式:
CREATE SCHEMA myschema;
数据操作语言 (DML)
-
插入数据:
INSERT INTO customers (name, email) VALUES ('John Doe', 'john.doe@example.com');
-
更新数据:
UPDATE customers SET email = 'new.email@example.com' WHERE customer_id = 1;
-
删除数据:
DELETE FROM customers WHERE customer_id = 1;
-
查询数据:
SELECT * FROM customers;
-
条件查询:
SELECT name, email FROM customers WHERE name = 'John Doe';
-
排序查询:
SELECT * FROM customers ORDER BY name ASC;
-
限制查询结果数量:
SELECT * FROM customers LIMIT 10 OFFSET 5;
数据控制语言 (DCL)
-
授予权限:
GRANT SELECT ON TABLE customers TO readonly_user;
-
撤销权限:
REVOKE SELECT ON TABLE customers FROM readonly_user;
事务控制
-
开始事务:
BEGIN;
-
提交事务:
COMMIT;
-
回滚事务:
ROLLBACK;
函数和存储过程
-
创建函数:
CREATE FUNCTION greet(name VARCHAR) RETURNS VARCHAR AS $$ BEGIN RETURN 'Hello ' || name || '!'; END; $$ LANGUAGE plpgsql;
-
调用函数:
SELECT greet('John') AS greeting;
这些是 PostgreSQL 中常用的 SQL 语句示例,它们展示了如何操作数据库、表、视图、索引、模式以及如何进行数据的增删改查等操作。