PostgreSQL 使用记录

1. 重命名数据库时,报错:“其他用户正在使用数据库...”

报错如下:

ERROR: 错误:  其他用户正在使用数据库 "<DBname>"
DETAIL:  那里有1个其它会话正在使用数据库.


SQL 状态: 55006

解决方法:

SELECT pg_terminate_backend(pg_stat_activity.pid)
FROM pg_stat_activity
WHERE datname='<DBname>' AND pid<>pg_backend_pid();
  • pg_terminate_backend:用来终止与数据库的连接的进程 ID 的函数。
  • pg_stat_activity:是一个系统表,用于存储服务进程的属性和状态。
  • pg_backend_pid():是一个系统函数,获取附加到当前会话的服务器进程的 ID 。

2. 删除数据库时,报错:“数据库 <> 不存在”,右键删除报错:“其他用户正在使用数据库...”,并且使用方法 1 无法解决。

重启 pgAdmin4 再来右键删除。

3. 希望在特定的数据库下创建新表,需要 “切换” 数据库。

选中数据库 << 工具 << 查询工具,从而打开相应的 SQL 窗口。

4. 更新数据后,该条数据貌似会默认排列到最后。

不过可以手动采用顺序排列。

select * from member order by rank;

select * from member order by rank asc;  -- 降序排列

select * from member order by rank desc;  -- 升序排列

5. 尝试关联成员表和公司表。

c_name 没有约束不能与成员表的外键关联。

c_id 已经是主键了,不能再将 c_name 设为主键。

给 c_name 加上 “唯一约束”,成功关联。注意:成员表外键所有的值必须要在公司表 c_name 中找得到才能关联,因此先把公司表数据插好了再进行关联。

6. 主键和外键

公司下面还有员工时,不能删除该公司。 

7. 如何更新数据。

8. 创建视图。

--创建视图
create view v_member_starship as select rank, name from member
where company = 'starship'
order by rank asc;

--删除视图
drop view v_member_starship;

--查看视图
select * from v_member_starship;

9. 多表查询。

查询方式SQL
内连接inner join
左连接left outer join
右连接right outer join
全连接full outer join

inner 和 outer 均可省略。

(1)内连接查询方式

select rank, name, company, c_id, c_name
from member, company
where company = c_name;

select rank, name, company, c_id, c_name
from member inner join company
on company = c_name;

(2)外连接查询方式

返回左表的所有内容。

select rank, name, company, c_id, c_name
from member left join company
on company = c_name;

返回两个表的所有内容。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PostgreSQL是一个功能强大的开源关系型数据库管理系统,下面是一个简单的教程,介绍了如何使用PostgreSQL。 1. 安装PostgreSQL:您可以从EnterpriseDB网站下载并安装适合您操作系统的PostgreSQL版本。 2. 启动和停止PostgreSQL服务:在Windows操作系统中,您可以使用以下命令来启动和停止PostgreSQL服务: - 启动服务:net start postgresql-9.5 - 停止服务:net stop postgresql-9.5 3. 连接到数据库使用psql命令可以连接到PostgreSQL数据库。在命令行中输入psql,然后按Enter键。这将打开一个交互式的PostgreSQL终端,您可以在其中执行SQL查询和命令。 4. 创建数据库:在PostgreSQL中,您可以使用CREATE DATABASE语句创建一个新的数据库。例如,要创建名为"mydatabase"的数据库,可以执行以下命令: ``` CREATE DATABASE mydatabase; ``` 5. 创建表格:使用CREATE TABLE语句可以在数据库中创建表格。表格定义了数据的结构和约束。例如,要创建一个名为"employees"的表格,可以执行以下命令: ``` CREATE TABLE employees ( id SERIAL PRIMARY KEY, name VARCHAR(100), age INT, salary DECIMAL(10, 2) ); ``` 6. 插入数据:使用INSERT INTO语句可以向表格中插入数据。例如,要向"employees"表格插入一条记录,可以执行以下命令: ``` INSERT INTO employees (name, age, salary) VALUES ('John Doe', 30, 50000); ``` 7. 查询数据:使用SELECT语句可以从表格中检索数据。例如,要检索"employees"表格中所有记录的信息,可以执行以下命令: ``` SELECT * FROM employees; ``` 8. 更新数据:使用UPDATE语句可以更新表格中的数据。例如,要将"employees"表格中id为1的记录的薪资更新为60000,可以执行以下命令: ``` UPDATE employees SET salary = 60000 WHERE id = 1; ``` 9. 删除数据:使用DELETE语句可以删除表格中的数据。例如,要删除"employees"表格中id为1的记录,可以执行以下命令: ``` DELETE FROM employees WHERE id = 1; ``` 这只是一个简单的介绍,PostgreSQL还有很多其他功能和高级用法,您可以参考PostgreSQL的官方文档和其他教程来学习更多关于PostgreSQL的知识。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值