postgresql数据库基本操作

1. 连接 PostgreSQL 数据库

首先,使用 psql 命令行工具连接到数据库。如果是本地连接,命令格式如下:

psql -U postgres -d <数据库名称> -h <主机地址>

其中:

  • -U postgres:表示以 postgres 用户身份登录。
  • -d <数据库名称>:指定要连接的数据库。
  • -h <主机地址>:指定数据库服务器的主机地址(如果是本地,localhost127.0.0.1)。

如果没有指定数据库,psql 会默认连接到 postgres 数据库。


2. 创建数据库

创建一个新的数据库可以使用以下 SQL 语句:

CREATE DATABASE <数据库名称>;

例如:

CREATE DATABASE testdb;

3. 查看当前数据库

使用 \c\connect 命令查看或切换当前连接的数据库:

\c <数据库名称>

例如,切换到 testdb 数据库:

\c testdb

4. 查看所有数据库

要查看当前 PostgreSQL 服务器中所有数据库,可以使用以下命令:

\l

或者:

\list

5. 查看当前数据库中的所有表

使用以下命令查看当前数据库中所有表:

\dt

6. 创建表

创建表时,定义表的字段及其类型。例如:

CREATE TABLE students (id SERIAL PRIMARY KEY,name VARCHAR(100),age INT
);

上面的语句创建了一个名为 students 的表,其中包含 idnameage 字段。


7. 查看表结构

查看表的结构,可以使用 \d 命令后接表名:

\d students

这将显示 students 表的结构和字段类型。


8. 插入数据(增)

插入数据时使用 INSERT INTO 语句。假设我们要向 students 表中插入一条记录:

INSERT INTO students (name, age) VALUES ('Alice', 20);

如果你要插入多条记录,可以使用以下语法:

INSERT INTO students (name, age) VALUES
('Bob', 22),
('Charlie', 23),
('David', 21);

9. 查询数据(查)

查询数据时使用 SELECT 语句。要查询表中的所有记录:

SELECT * FROM students;

查询指定条件的数据:

SELECT * FROM students WHERE age > 21;

查询特定字段:

SELECT name, age FROM students;

10. 更新数据(改)

更新数据时使用 UPDATE 语句。比如,将 Alice 的年龄改为 21:

UPDATE students SET age = 21 WHERE name = 'Alice';

更新多条记录:

UPDATE students SET age = age + 1 WHERE age < 25;

11. 删除数据(删)

删除数据时使用 DELETE 语句。比如删除 nameBob 的记录:

DELETE FROM students WHERE name = 'Bob';

如果你想删除所有数据(但保留表结构):

DELETE FROM students;

如果你希望彻底删除表结构及其数据,可以使用 DROP TABLE

DROP TABLE students;

12. 查看当前连接的会话

查看当前连接的会话信息:

\conninfo

这将显示当前连接的数据库、用户名、主机等信息。


13. 查看数据库的状态

查看数据库的状态或运行信息,使用以下命令:

SELECT pg_stat_activity;

这将显示当前连接到数据库的会话信息,包括每个连接的状态、查询等。


14. 查看表的大小

查看某个表所占用的存储空间大小:

SELECT pg_size_pretty(pg_total_relation_size('students'));

如果你要查看所有表的大小,可以使用:

SELECT table_name, pg_size_pretty(pg_total_relation_size(table_name)) 
FROM information_schema.tables
WHERE table_schema = 'public';

15. 查看数据库的大小

查看数据库本身的大小:

SELECT pg_size_pretty(pg_database_size('testdb'));

你可以替换 testdb 为任何你要查询的数据库名称。


16. 查看索引

查看某个表的索引:

\di

或者:

SELECT * FROM pg_indexes WHERE tablename = 'students';

17. 创建索引

为了提高查询效率,可以在表中创建索引。例如,为 students 表的 name 列创建索引:

CREATE INDEX idx_name ON students (name);

18. 备份数据库

使用 pg_dump 命令进行数据库备份。备份到一个文件:(进入数据库)

pg_dump -U postgres -d testdb -f backup.sql

19. 恢复数据库

使用 psql 恢复备份的数据:

psql -U postgres -d testdb -f backup.sql

20. 退出 PostgreSQL

退出 psql 连接:

\q

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/79711.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/79711.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

工业大模型:从设备诊断到工艺重构

引言 工业大模型正在引发制造业认知革命。据埃森哲研究,到2026年全球工业大模型市场规模将突破280亿美元,其中工艺优化应用占比达42%。本文将系统解析工业大模型的"预训练-领域适配-应用落地"技术路径,并通过设备健康诊断与工艺参数生成的实践案例,展示如何构建…

PyQt5基本介绍

PyQt5是基于Digia公司强大图形框架Qt5的python接口&#xff0c;由一组python模块构成。是一个用于创建桌面应用程序的Python库&#xff0c;它是Qt图形用户界面工具包的Python绑定。 Qt是一个跨平台的C库&#xff0c;提供了一套丰富的工具和功能&#xff0c;用于开发图形用户界…

Tire 树(字典树/前缀树)

一、定义与结构 用来快速存储查找字符串集合的一种数据结构 将字符串按顺序连接根节点上&#xff0c;并在字符串结束的地方打上标记并计数。 二、模板题 acwing 835 Trie 树的字符串统计 题目&#xff1a; 维护一个字符串集合&#xff0c;支持两种操作&#xff1a; I x 向…

【时时三省】(C语言基础)怎样定义和引用一维数组

山不在高&#xff0c;有仙则名。水不在深&#xff0c;有龙则灵。 ----CSDN 时时三省 一维数组是数组中最简单的&#xff0c;它的元素只需要用数组名加一个下标&#xff0c;就能唯一地确定。如上面介绍的学生成绩数组s就是一维数组。有的数组&#xff0c;其元素要指定两个下标才…

编译faiss

编译faiss-1.10.0 首先确保自己cmake的版本&#xff1a; cmake --version 确保其版本至少为CMake 3.24.0 or higher is required。 其次安装OpenBLAS&#xff1a; https://github.com/OpenMathLib/OpenBLAS 去这里去安转Openblas内容&#xff0c;然后确保自己的CPU的指令集是存…

Linux 入门:操作系统进程详解

目录 一.冯诺依曼体系结构 一&#xff09;. 软件运行前为什么要先加载&#xff1f;程序运行之前在哪里&#xff1f; 二&#xff09;.理解数据流动 二.操作系统OS(Operator System) 一&#xff09;.概念 二&#xff09;.设计OS的目的 三&#xff09;.如何理解操作系统…

word交叉引用图片、表格——只引用编号的处理方法

交叉引用图片/表格 在“引用”选项卡上的“题注”组中&#xff0c;单击“插入题注”。勾选【从题注中排除标签】。在文中插入题注。 【注 意】 这时候插入的题注只有编号项了。然后手动打上标签【TABLE】&#xff0c;并在标签和编号项之间加上【样式分隔符&#xff0c;AltCt…

rails 8 CSS不起效问题解决

很久没用rails了&#xff0c;最近打算重新复习一下。在配置好环境后&#xff0c;创建了项目&#xff0c;通过脚手架创建了数据库表&#xff0c;和相关的文件。但我发现却没有生成相应的CSS文件&#xff0c;可能是rails8 取消了吧。于是自己手动创建了相应的css文件。但是刷新页…

【nlohmann\json.hpp】‘_snprintf‘: is not a member of ‘std‘

这个问题时有发生但是为啥现在更新了vs2022 后,发生了这些报错:2>(compiling source file ../worker/src/fargo/PacedVideoSenderGo.cpp) 2>D:\XTRANS\thunderbolt\ayame

数据结构--【二叉树】

目录 定义结构体&#xff1a; 初始化&#xff1a; 手动创建一个二叉树&#xff1a; 前序遍历&#xff1a; 中序遍历&#xff1a; 后序遍历 二叉树节点个数&#xff1a; 叶子节点个数&#xff1a; 二叉树第k层节点个数&#xff1a; 二叉树的高度&#xff1a; 查找值为x…

深入解析Linux进程间通信(IPC):机制、应用与最佳实践

引言 在多任务操作系统中&#xff0c;进程间通信&#xff08;Inter-Process Communication, IPC&#xff09;是协同工作的核心机制。Linux作为现代操作系统的典范&#xff0c;提供了8种主要IPC方式&#xff0c;从传统的管道到面向网络的套接字&#xff0c;每种方法都暗藏独特的…

2025年“深圳杯”数学建模挑战赛B题-LED显示屏颜色转换设计与校正

LED显示屏颜色转换设计与校正 小驴数模 问题的背景 走在晚风都市&#xff0c;或春日田野&#xff0c;我们都会看到一个色彩斑斓的世界。色彩是我们对世界一种重要感知。什么是色彩&#xff0c;或颜色&#xff1f;颜色是光作用于人眼引起的视觉感知现象&#xff0c;它与物体的…

Java学习手册:Spring MVC 架构与实现

一、Spring MVC 概述 Spring MVC 是 Spring 框架的一个模块&#xff0c;它提供了一套 Web 应用开发的解决方案&#xff0c;实现了 MVC&#xff08;Model-View-Controller&#xff09;设计模式。Spring MVC 提供了清晰的分离逻辑层、视图层和控制器层的结构&#xff0c;便于开发…

【TF-BERT】基于张量的融合BERT多模态情感分析

不足&#xff1a;1. 传统跨模态transformer只能处理2种模态&#xff0c;所以现有方法需要分阶段融合3模态&#xff0c;引发信息丢失。2. 直接拼接多模态特征到BERT中&#xff0c;缺乏动态互补机制&#xff0c;无法有效整合非文本模态信息 改进方法&#xff1a;1. 基于张量的跨模…

maven坐标导入jar包时剔除不需要的内容

maven坐标导入jar包时剔除不需要的内容 问题描述解决方案 问题描述 maven坐标导入jar包时剔除不需要的内容 解决方案 Spring Boot 默认使用 Logback&#xff0c;需在 pom.xml 中排除其依赖&#xff1a; <dependency><groupId>org.springframework.boot</gro…

C与指针——输入输出

错误定位 当一个库函数出错时&#xff0c;errno会被重置 perror(const char* s);\\输出s: errno 对应的错误信息 \\如果单独想要错误信息可以 char* e strerror(errno);\\系统错误码转换为对应的错误信息字符串输出缓冲区 一般输出缓冲区满的时候才刷新&#xff0c;也就是…

JSON Web Token 默认密钥 身份验证安全性分析 dubbo-admin JWT硬编码身份验证绕过

引言 在web开发中&#xff0c;对于用户认证的问题&#xff0c;有很多的解决方案。其中传统的认证方式&#xff1a;基于session的用户身份验证便是可采用的一种。 基于session的用户身份验证验证过程&#xff1a; 用户在用进行验证之后&#xff0c;服务器保存用户信息返回sess…

STM32GPIO输出实战-LED模板

STM32GPIO输出实战-LED模板 一&#xff0c;LED控制原理1&#xff0c;LED控制时GPIO的配置2&#xff0c;LED连接方式3&#xff0c;使用HAL库控制LED的常用函数&#xff1a; 二&#xff0c;任意控制LED模板1&#xff0c;Led底层2&#xff0c;代码详细解析 三&#xff0c;实用技巧…

第二十七届华东杯数学建模A 题 跳台滑雪问题 完整思路模型及代码

题目背景 跳台滑雪起源于 19 世纪&#xff0c;是冬季运动会的传统竞技项目。今年亚洲冬季运动会在我国 哈尔滨举行&#xff0c;跳台滑雪项目吸引了包括中国在内的亚洲各国运动健儿踊跃参加&#xff0c;我国运动员取得了优异的成绩。 跳台滑雪融合了速度、力量与精确控制&…

Python之学习笔记(六)

文章目录 1. 字典&#xff08;Dictionary&#xff09;2. 集合&#xff08;Set&#xff09;3. 字典 vs 集合4. 应用场景5. 注意事项 Python中的字典&#xff08; dict&#xff09;和集合&#xff08; set&#xff09;是两种高效且常用的数据结构&#xff0c;适用于不同的场景。…