合 PostgreSQL常用基本初级开发SQL
Tags: PGPostgreSQL常用SQL
数据库
创建数据库
PostgreSQL 创建数据库可以用以下三种方式:
- 1、使用 CREATE DATABASE SQL 语句来创建。
- 2、使用 createdb 命令来创建。
- 3、使用 pgAdmin 工具。
CREATE DATABASE 创建数据库
CREATE DATABASE 命令需要在 PostgreSQL 命令窗口来执行,语法格式如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | postgres=# \h create database; Command: CREATE DATABASE Description: create a new database Syntax: CREATE DATABASE name [ [ WITH ] [ OWNER [=] user_name ] [ TEMPLATE [=] template ] [ ENCODING [=] encoding ] [ LOCALE [=] locale ] [ LC_COLLATE [=] lc_collate ] [ LC_CTYPE [=] lc_ctype ] [ TABLESPACE [=] tablespace_name ] [ ALLOW_CONNECTIONS [=] allowconn ] [ CONNECTION LIMIT [=] connlimit ] [ IS_TEMPLATE [=] istemplate ] ] URL: https://www.postgresql.org/docs/13/sql-createdatabase.html |
例如,我们创建一个 lhrpgdb 的数据库:
1 2 3 4 5 6 7 8 9 | postgres=# CREATE DATABASE lhrpgdb; CREATE DATABASE db1 WITH OWNER = lhr ENCODING = 'UTF8' TABLESPACE = ts_test1 CONNECTION LIMIT = -1; |
createdb 命令创建数据库
createdb 是一个 SQL 命令 CREATE DATABASE 的封装。
createdb 命令语法格式如下:
1 | createdb [option...] [dbname [description]] |
参数说明:
dbname:要创建的数据库名。
description:关于新创建的数据库相关的说明。
options:参数可选项,可以是以下值:
序号 | 选项 & 描述 |
---|---|
1 | -D tablespace指定数据库默认表空间。 |
2 | -e将 createdb 生成的命令发送到服务端。 |
3 | -E encoding指定数据库的编码。 |
4 | -l locale指定数据库的语言环境。 |
5 | -T template指定创建此数据库的模板。 |
6 | --help显示 createdb 命令的帮助信息。 |
7 | -h host指定服务器的主机名。 |
8 | -p port指定服务器监听的端口,或者 socket 文件。 |
9 | -U username连接数据库的用户名。 |
10 | -w忽略输入密码。 |
11 | -W连接时强制要求输入密码。 |
接下来我们打开一个命令窗口,进入到 PostgreSQL 的安装目录,并进入到 bin 目录,createdb 命令位于 PostgreSQL安装目录/bin 下,执行创建数据库的命令:
1 2 3 | $ cd /Library/PostgreSQL/11/bin/ $ createdb -h localhost -p 5432 -U postgres lhrpgdb password ****** |
以上命令我们使用了超级用户 postgres 登录到主机地址为 localhost,端口号为 5432 的 PostgreSQL 数据库中并创建 lhrpgdb 数据库。
pgAdmin 工具创建数据库
pgAdmin 工具提供了完整操作数据库的功能:
选择数据库
上一章节我们讲了如何创建数据库,接下来我们来讨论如何去选择我们创建的数据库。
数据库的命令窗口
PostgreSQL 命令窗口中,我们可以命令提示符后面输入 SQL 语句:
1 | postgres=# |
使用 \l 用于查看已经存在的数据库:
1 2 3 4 5 6 7 8 9 10 11 | postgres=# \l List of databases Name | Owner | Encoding | Collate | Ctype | Access privileges -----------+----------+----------+---------+-------+----------------------- postgres | postgres | UTF8 | C | C | lhrpgdb | postgres | UTF8 | C | C | template0 | postgres | UTF8 | C | C | =c/postgres + | | | | | postgres=CTc/postgres template1 | postgres | UTF8 | C | C | =c/postgres + | | | | | postgres=CTc/postgres (4 rows) |
接下来我们可以使用 \c + 数据库名 来进入数据库: