PostgreSQL基本用法
PostgreSQL简介
PostgreSQL(简称Postgres)是一个强大的开源关系型数据库管理系统,它支持SQL标准,还提供了很多高级功能,比如事务、并发控制、扩展性等。它是企业级数据库管理系统中非常流行的一种。
PostgreSQL基本用法
1. 安装PostgreSQL
在使用PostgreSQL之前,你需要先安装它。在Linux、Windows或macOS上都可以安装。安装完成后会有以下几个常用工具:
psql
:PostgreSQL的命令行工具,用于连接和操作数据库。- 图形化工具:可以使用pgAdmin(官方提供的图形界面工具)来操作PostgreSQL。
2. 连接数据库
通过命令行连接
假设PostgreSQL已经运行,可以通过以下命令连接到数据库:
psql -U 用户名 -d 数据库名
-U
:指定用户名。-d
:指定要连接的数据库。- 如果你不指定数据库,会默认连接到和你的用户名相同的数据库。
例如: psql -U postgres -d mydb
连接到数据库
-
使用 psql 命令行工具 :
psql -U username -d dbname -h host -p port
,其中-U
指定用户名,-d
指定数据库名,-h
指定主机地址,默认为localhost
,-p
指定端口号,默认为5432
。 -
使用图形化工具 pgAdmin :打开 pgAdmin,创建新的服务器连接,输入连接信息,包括主机地址、端口、用户名和密码等,然后点击 “保存”,即可连接到 PostgreSQL 数据库。
3. 基本SQL操作
-
创建用户 :登录到 PostgreSQL 后,执行
CREATE USER username WITH PASSWORD 'password';
。 -
创建数据库 :执行
CREATE DATABASE dbname;
。 -
授权用户 :执行
GRANT ALL PRIVILEGES ON DATABASE dbname TO username;
。 -
常用数据类型
INT
:整数。SERIAL
:自动递增的整数(通常用于主键)。PRIMARY KEY
:主键,表中唯一标识一行。NOT NULL
:不允许为空。UNIQUE
:值必须唯一。DEFAULT
:设置默认值。CHECK
:自定义条件约束。
FOREIGN KEY
:外键,关联其他表
VARCHAR(n)
:可变长度的字符串,最大长度为n
。TEXT
:不限制长度的字符串。DATE
:日期。BOOLEAN
:布尔值(TRUE
或FALSE
)。TIMESTAMP
:时间戳(日期+时间)。-
创建表 :
CREATE TABLE table_name (column_name1 data_type1, column_name2 data_type2, ...);
,例如CREATE TABLE employees (id SERIAL PRIMARY KEY, name VARCHAR(50) NOT NULL, salary NUMERIC(10,2));
。 -
插入数据 :
INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...);
,例如INSERT INTO employees (name, salary) VALUES ('Alice', 75000.50);
。 -
查询数据 :
SELECT column1, column2, ... FROM table_name WHERE condition;
,例如SELECT * FROM employees WHERE salary > 80000;
。 -
更新数据 :
UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE condition;
,例如UPDATE employees SET salary = 75000 WHERE name = 'Charlie';
。 -
删除数据 :
DELETE FROM table_name WHERE condition;
,例如DELETE FROM employees WHERE name = 'Bob';
。 -
备份数据库 :使用
pg_dump
工具,命令为pg_dump -U username -d dbname > backup.sql
。 -
恢复数据库 :使用
psql
工具,命令为psql -U username -d dbname < backup.sql
。 -
查看所有数据库 :在 psql 中执行
\l
。 -
切换数据库 :在 psql 中执行
\c dbname
。 -
查看当前数据库中的表 :在 psql 中执行
\dt
。 -
查看表结构 :在 psql 中执行
\d+ table_name
。 -
退出 psql :在 psql 中执行
\q
。
4. 使用SQL查询查看所有数据库和表
查看所有数据库
你可以使用以下SQL查询来获取所有数据库的列表:
Language:sql
SELECT datname AS database_name FROM pg_database;
查看当前数据库中的所有表
要通过SQL查询查看当前数据库中的所有表,可以查询系统表pg_tables
:
Language:sql
SELECT tablename FROM pg_tables WHERE schemaname = 'public';
schemaname = 'public'
表示只查询默认模式下的表。如果你想查看其他模式的表,可以修改条件中的schemaname
。