当前位置: 首页 > news >正文

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:布尔值(TRUEFALSE)。
  • 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

http://www.xdnf.cn/news/526735.html

相关文章:

  • 谷歌 NotebookLM 即将推出 Sparks 视频概览:Gemini 与 Deep Research 加持,可生成 1 - 3 分钟 AI 视频
  • 前缀和——和为K的子数组
  • 光纤克尔非线性效应及其在光通信系统中的补偿教程-3.2 克尔效应
  • 分布式与集群:概念、区别与协同
  • 没有 Mac,我如何用 Appuploader 完成 iOS App 上架
  • RabbitMQ的简介
  • React集成百度【JSAPI Three】教程(002):设置不同的环境效果
  • 数据结构(二) 线性表
  • java中的Servlet4.x详解
  • 湖北理元理律师事务所观察:债务服务中的“倾听者价值”
  • 深入解析Spring Boot与Kafka集成:构建高效消息驱动微服务
  • APP小程序抓包和下游代理
  • 云原生攻防2(Docker基础补充)
  • 2.微服务-配置
  • Fines for Parking vs. Free News
  • 云计算与大数据进阶 | 26、解锁云架构核心:深度解析可扩展数据库的5大策略与挑战(下)
  • Kotlin 协程
  • MySQL故障排查
  • 高效掌握二分查找:从基础到进阶
  • LED太阳光模拟器与氙灯太阳光模拟器的性能区别
  • Protobuf协议生成和使用
  • 5G金融互联:迈向未来金融服务的极速与智能新时代
  • 判断三方库是64位还是32位
  • CVE-2015-3934 Fiyo CMS SQL注入
  • 代码随想录算法训练营Day37 | 完全背包基础理论 518. 零钱兑换II 377. 组合总和Ⅳ 57. 爬楼梯(第八期模拟笔试)
  • 网络协议之一根网线就能连接两台电脑?
  • Spring boot 学习笔记2
  • 易境通海外仓系统:一件代发全场景数字化解决方案
  • MySQL函数触发:函数处理与触发器自动化应用
  • 【Web渗透】DVWA搭建详细教程