postgresql数据库基本操作及命令详解

2025-06-24 04:50

本文主要是介绍postgresql数据库基本操作及命令详解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

《postgresql数据库基本操作及命令详解》本文介绍了PostgreSQL数据库的基础操作,包括连接、创建、查看数据库,表的增删改查、索引管理、备份恢复及退出命令,适用于数据库管理和开发实践,感兴...

1. 连接 PostgreSQL 数据库

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

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

其中:

  • -U postgres:表示以 postgres 用户身份登录。
  • -d <数据库名称>:指定要连接的数据库。
  • -h <主机地址>:指定数据库服务器的主机地址(如果是本地,localhjavascriptost 或 127.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 的表,其中包含 idname 和 age 字段。

7. 查看表结构

查看表的结构,可以使用&nChina编程bsp;\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'python, 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 &lt; 25;

11. 删除数据(删)

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

DELETE FROM students WHERE name = 'Bob';

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

DELETE FROM students;

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

DROP TABLE students;

12. 查看当前连接的会话

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

编程conninfo
python

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

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

到此这篇关于postgresql数据库基本操作及命令详解的文章就介绍到这了,更多相关postgresql数据库操作内容请搜索China编程(www.chinasem.cn)以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程China编程(www.chinasem.cn)!

这篇关于postgresql数据库基本操作及命令详解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1155190

相关文章

Java高效实现PowerPoint转PDF的示例详解

《Java高效实现PowerPoint转PDF的示例详解》在日常开发或办公场景中,经常需要将PowerPoint演示文稿(PPT/PPTX)转换为PDF,本文将介绍从基础转换到高级设置的多种用法,大家... 目录为什么要将 PowerPoint 转换为 PDF安装 Spire.Presentation fo

SpringBoot中ResponseEntity的使用方法举例详解

《SpringBoot中ResponseEntity的使用方法举例详解》ResponseEntity是Spring的一个用于表示HTTP响应的全功能对象,它可以包含响应的状态码、头信息及响应体内容,下... 目录一、ResponseEntity概述基本特点:二、ResponseEntity的基本用法1. 创

java中ssh2执行多条命令的四种方法

《java中ssh2执行多条命令的四种方法》本文主要介绍了java中ssh2执行多条命令的四种方法,包括分号分隔、管道分隔、EOF块、脚本调用,可确保环境配置生效,提升操作效率,具有一定的参考价值,感... 目录1 使用分号隔开2 使用管道符号隔开3 使用写EOF的方式4 使用脚本的方式大家平时有没有遇到自

linux系统中java的cacerts的优先级详解

《linux系统中java的cacerts的优先级详解》文章讲解了Java信任库(cacerts)的优先级与管理方式,指出JDK自带的cacerts默认优先级更高,系统级cacerts需手动同步或显式... 目录Java 默认使用哪个?如何检查当前使用的信任库?简要了解Java的信任库总结了解 Java 信

Spring Boot分层架构详解之从Controller到Service再到Mapper的完整流程(用户管理系统为例)

《SpringBoot分层架构详解之从Controller到Service再到Mapper的完整流程(用户管理系统为例)》本文将以一个实际案例(用户管理系统)为例,详细解析SpringBoot中Co... 目录引言:为什么学习Spring Boot分层架构?第一部分:Spring Boot的整体架构1.1

Linux命令rm如何删除名字以“-”开头的文件

《Linux命令rm如何删除名字以“-”开头的文件》Linux中,命令的解析机制非常灵活,它会根据命令的开头字符来判断是否需要执行命令选项,对于文件操作命令(如rm、ls等),系统默认会将命令开头的某... 目录先搞懂:为啥“-”开头的文件删不掉?两种超简单的删除方法(小白也能学会)方法1:用“--”分隔命

Python之变量命名规则详解

《Python之变量命名规则详解》Python变量命名需遵守语法规范(字母开头、不使用关键字),遵循三要(自解释、明确功能)和三不要(避免缩写、语法错误、滥用下划线)原则,确保代码易读易维护... 目录1. 硬性规则2. “三要” 原则2.1. 要体现变量的 “实际作用”,拒绝 “无意义命名”2.2. 要让

python中的高阶函数示例详解

《python中的高阶函数示例详解》在Python中,高阶函数是指接受函数作为参数或返回函数作为结果的函数,下面:本文主要介绍python中高阶函数的相关资料,文中通过代码介绍的非常详细,需要的朋... 目录1.定义2.map函数3.filter函数4.reduce函数5.sorted函数6.自定义高阶函数

Python 常用数据类型详解之字符串、列表、字典操作方法

《Python常用数据类型详解之字符串、列表、字典操作方法》在Python中,字符串、列表和字典是最常用的数据类型,它们在数据处理、程序设计和算法实现中扮演着重要角色,接下来通过本文给大家介绍这三种... 目录一、字符串(String)(一)创建字符串(二)字符串操作1. 字符串连接2. 字符串重复3. 字

Python中的sort方法、sorted函数与lambda表达式及用法详解

《Python中的sort方法、sorted函数与lambda表达式及用法详解》文章对比了Python中list.sort()与sorted()函数的区别,指出sort()原地排序返回None,sor... 目录1. sort()方法1.1 sort()方法1.2 基本语法和参数A. reverse参数B.