一.PostgreSQL 创建数据库

  1. CREATE DATABASE 创建数据库
1
CREATE DATABASE dbname;
  1. createdb 命令创建数据库( createdb 是一个 SQL 命令 CREATE DATABASE 的封装。)
    1
    2
    createdb [option...] [dbname [description]]
    createdb -h localhost -p 5432 -U postgres runoobdb

    dbname:要创建的数据库名。

    description:关于新创建的数据库相关的说明。

    options:参数可选项(-h:主机名、-p:端口、-U:连接数据库的用户名)

  2. pgAdmin 工具创建数据库

    image-20230309161839625

二.PostgreSQL 选择数据库

  1. 使用 \l 用于查看已经存在的数据库:
    1
    postgres=# \l
  2. 使用 \c + 数据库名 来进入数据库:
    1
    2
    3
    postgres=# \c test
    You are now connected to database "test" as user "postgres".
    test=#

三.PostgreSQL 删除数据库

  1. DROP DATABASE 删除数据库
    1
    DROP DATABASE [ IF EXISTS ] name

    参数说明:

    • IF EXISTS:如果数据库不存在则发出提示信息,而不是错误信息。
    • name:要删除的数据库的名称。

    例如,我们删除一个 test 的数据库:

    1
    postgres=# DROP DATABASE test;
  2. dropdb 命令删除数据库

    dropdb 是 DROP DATABASE 的包装器。

    dropdb 用于删除 PostgreSQL 数据库。

    dropdb 命令只能由超级管理员或数据库拥有者执行。

    dropdb 命令语法格式如下:

    1
    dropdb [connection-option...] [option...] dbname

    dbname:要删除的数据库名。

    options:参数可选项.

    打开一个命令窗口,进入到 PostgreSQL 的安装目录,并进入到 bin 目录,dropdb 名位于 PostgreSQL安装目录/bin 下,执行删除数据库的命令:

    1
    2
    3
    $ cd /Library/PostgreSQL/11/bin/
    $ dropdb -h localhost -p 5432 -U postgres test
    password ******

    以上命令我们使用了超级用户 postgres 登录到主机地址为 localhost,端口号为 5432 的 PostgreSQL 数据库中并删除 test数据库。

四.PostgreSQL 创建表格

  1. PostgreSQL 使用 CREATE TABLE 语句来创建数据库表格。

    语法:

    1
    2
    3
    4
    5
    6
    7
    8
    CREATE TABLE table_name(
    column1 datatype,
    column2 datatype,
    column3 datatype,
    .....
    columnN datatype,
    PRIMARY KEY( 一个或多个列 )
    );

    以下创建了一个表,表名为 COMPANY 表格,主键为 IDNOT NULL 表示字段不允许包含 NULL 值:

    1
    2
    3
    4
    5
    6
    7
    CREATE TABLE COMPANY(
    ID INT PRIMARY KEY NOT NULL,
    NAME TEXT NOT NULL,
    AGE INT NOT NULL,
    ADDRESS CHAR(50),
    SALARY REAL
    );
    1
    2
    3
    4
    5
    CREATE TABLE DEPARTMENT(
    ID INT PRIMARY KEY NOT NULL,
    DEPT CHAR(50) NOT NULL,
    EMP_ID INT NOT NULL
    );

    使用 \d 命令来查看表格是否创建成功:

    1
    test=# \d

    \d tablename 查看表格信息:

    1
    test=# \d company

五.PostgreSQL 删除表格

PostgreSQL 使用 DROP TABLE 语句来删除表格,包含表格数据、规则、触发器等,所以删除表格要慎重,删除后所有信息就消失了。

1
DROP TABLE table_name;
1
2
test=# drop table department, company;
DROP TABLE

六.PostgreSQL 模式(SCHEMA)

PostgreSQL 模式(SCHEMA)可以看着是一个表的集合。一个模式可以包含视图、索引、数据类型、函数和操作符等。

使用 CREATE SCHEMA 语句来创建模式,语法格式如下:

1
2
3
CREATE SCHEMA myschema.mytable (
...
);
1
2
test=# create schema myschema;
CREATE SCHEMA

输出结果 “CREATE SCHEMA” 就代表模式创建成功。

  • 创建表格
    1
    2
    3
    4
    5
    6
    7
    8
    test=# create table myschema.company(
    ID INT NOT NULL,
    NAME VARCHAR (20) NOT NULL,
    AGE INT NOT NULL,
    ADDRESS CHAR (25),
    SALARY DECIMAL (18, 2),
    PRIMARY KEY (ID)
    );
  • 删除模式

    删除一个为空的模式(其中的所有对象已经被删除):

    1
    DROP SCHEMA myschema;
  • 删除一个模式以及其中包含的所有对象:

    1
    DROP SCHEMA myschema CASCADE;

七.PostgreSQL INSERT INTO 语句

PostgreSQL INSERT INTO 语句用于向表中插入新记录。我们可以插入一行也可以同时插入多行。

1
2
INSERT INTO TABLE_NAME (column1, column2, column3,...columnN)
VALUES (value1, value2, value3,...valueN);

在使用 INSERT INTO 语句时,字段列必须和数据值数量相同,且顺序也要对应。

如果我们向表中的所有字段插入值,则可以不需要指定字段,只需要指定插入的值即可:

1
INSERT INTO TABLE_NAME VALUES (value1,value2,value3,...valueN);

下表列出执行插入后返回结果的说明:

序号 输出信息 & 描述
1 INSERT oid 1 只插入一行并且目标表具有 OID的返回信息, 那么 oid 是分配给被插入行的 OID。
2 INSERT 0 # 插入多行返回的信息, # 为插入的行数。

在 COMPANY 表中插入以下数据:

1
2
test=# INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY,JOIN_DATE) VALUES (1, 'Paul', 32, 'California', 20000.00,'2001-07-13');
INSERT 0 1

插入多行:

1
2
test=# INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY,JOIN_DATE) VALUES (4, 'Mark', 25, 'Rich-Mond ', 65000.00, '2007-12-13' ), (5, 'David', 27, 'Texas', 85000.00, '2007-12-13');
INSERT 0 2

八.PostgreSQL SELECT 语句

PostgreSQL SELECT 语句用于从数据库中选取数据。结果被存储在一个结果表中,称为结果集。

  • 语法:

    1
    SELECT column1, column2,...columnN FROM table_name;
    • column1, column2,…columnN 为表中字段名。
    • table_name 为表名。

九.PostgreSQL 运算符

运算符是一种告诉编译器执行特定的数学或逻辑操作的符号。PostgreSQL 运算符是一个保留关键字或字符,一般用在 WHERE 语句中,作为过滤条件。

1.算术运算符

假设变量 a 为 2,变量 b 为 3,则:

运算符 描述 实例
+ a + b 结果为 5
- a - b 结果为 -1
* a * b 结果为 6
/ b / a 结果为 1
% 模(取余) b % a 结果为 1
^ 指数 a ^ b 结果为 8
\ / 平方根 \ / 25.0 结果为 5
\ \ / 立方根 \ \ / 27.0 结果为 3
! 阶乘 5 ! 结果为 120
!! 阶乘(前缀操作符) !! 5 结果为 120
1
select 2+3;

2.比较运算符

假设变量 a 为 10,变量 b 为 20,则:

运算符 描述 实例
= 等于 (a = b) 为 false。
!= 不等于 (a != b) 为 true。
<> 不等于 (a <> b) 为 true。
> 大于 (a > b) 为 false。
< 小于 (a < b) 为 true。
>= 大于等于 (a >= b) 为 false。
<= 小于等于 (a <= b) 为 true。
1
SELECT * FROM COMPANY WHERE SALARY > 50000;