PostgreSQL 语法


PostgreSQL是一款开源的对象关系数据库管理系统(ORDBMS),使用SQL语言进行数据存取和管理。下面将详细介绍PostgreSQL的语法。

基本数据类型 PostgreSQL具有丰富的数据类型,包括整型、字符型、浮点型、日期型等。例如,整型可以定义为:smallint、int、bigint,分别表示短整数、整数、长整数。字符型可以定义为:char、varchar、text,分别表示固定长度的字符、可变长度的字符和任意长度的字符。浮点型可以定义为:float、double precision,分别表示单精度浮点数和双精度浮点数。日期型可以定义为:timestamp、date、time,表示时间戳、日期和时间。

创建表 创建一个表需要指定表名和每个字段的名称、数据类型和约束条件。例如:

CREATE TABLE students (
    id integer PRIMARY KEY,
    name varchar(50) NOT NULL,
    gender char(1) CHECK (gender IN ('M', 'F')),
    age integer DEFAULT 20,
    address text
);

上述语法会创建一个名为“students”的表,包含5个字段,分别是id、name、gender、age和address。其中,id是主键,name不允许为NULL,gender只允许填写“M”或“F”,age的默认值是20,address可以填任何文本。这里的CHECK关键字用于指定枚举值的约束条件。

插入数据 在插入数据前,需要先在表中创建一个空行。插入数据时要指定每个字段的值, 如果要插入多行记录,可以使用INSERT INTO SELECT语句。例如:

INSERT INTO students (id, name, gender, age, address)
VALUES (1, 'Tom', 'M', 22, 'Beijing');

上述语法表示向“students”表中插入一行数据,含有5个字段,分别是id、name、gender、age和address。

更新数据 在更新数据之前,需要使用SELECT语句查询出需要修改的数据。更新数据时可以只修改部分字段的值,通过WHERE子句指定修改的行。例如:

UPDATE students SET name = 'Jane', age = 23
WHERE id = 1;

上述语法表示将“students”表中id为1的记录的name字段修改为“Jane”,age字段修改为23。

删除数据 在删除数据时,需要使用SELECT语句查询出需要删除的数据,然后使用DELETE语句删除。DELETE语句有两种写法,一种只删除单行记录,另一种可以同时删除多行记录。例如:

DELETE FROM students
WHERE id = 1;

上述语法表示删除“students”表中id为1的记录,只删除单行记录。

查询数据 查询数据是SQL语言的核心。查询数据需要使用SELECT语句,可以选择多个字段进行查询,也可以使用WHERE子句添加筛选条件,还可以使用ORDER BY子句按照某个字段排序,使用LIMIT子句限制查询结果的数量。例如:

SELECT name, age, address FROM students
WHERE gender = 'F'
ORDER BY age DESC
LIMIT 10;

上述语法表示查询“students”表中所有性别为“F”的学生的姓名、年龄和地址,并按照年龄进行倒序排序,最多显示10条记录。

总结 PostgreSQL是一款出色的数据库管理系统,拥有丰富的数据类型和强大的SQL语言,可以方便高效地管理和维护数据。本文对PostgreSQL语法进行了详细介绍,希望读者能够掌握其基本用法。