PostgreSQL学习笔记

一、安装

官网下载地址:EDB: Open-Source, Enterprise Postgres Database Management

 双击安装程序进行安装

选择端口,默认的即可 

 验证是否安装成功

在开始菜单里找到PGAdmin 4 

打开这个大象头,会在浏览器中打开新的标签页。第一次打开会提示设置密码。这个密码是pgAdmin的密码,以后连接服务器的密码需要保存,则会使用pgAdmin的密码对其加密和解密。
这里输入的密码,并不是安装过程中设置的PostgreSQL超级用户postgres的密码。 

密码正确,连接成功,服务器图标变成大象头,没有红叉。服务器下属的数据库等信息都可以查看,主界面显示具体信息。这时候pg库的安装验证就完事了.

 配置

找到pg_hba.conf文件,加入以下内容

host    all             all             0.0.0.0/0            md5

找到postgresql.conf文件,加入以下内容

wal_keep_segments:用于指定pg_wal目录中保存的过去的wal文件(wal 段)的最小数量,以防备用服务器在进行流复制时需要。

wal_keep_segments = 2

 打开命令窗口,输入命令

services.msc

 在弹出的窗口中找到以下进程,重新启动

修改环境变量

在命令行输入

sysdm.cpl

 在打开的窗口选择高级 -> 环境变量

找到path,双击打开

 

点击确定即可

 

二、了解

SQL(Structured Query Language)中文全称为”结构化查询语句“,SQL 是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。简单理解就是对我们数据库和数据库中的表进行”增删改查“操作的编程语言。虽然 SQL 是一门标准的计算机语言,但由于数据库类型繁多,存在着多种不同版本的 SQL 语言。为了与 ANSI 标准相兼容,它们必须以相似的方式共同地来支持一些主要的命令(比如 SELECT、UPDATE、DELETE、INSERT、WHERE 等等),下列为 postgresql 数据库操作示例。

  按照其功能,主要分为以下几种类型:

DQL(Data QueryLanguage):数据查询语句。SELECT。
DML(Data Manipulation Language):数据操纵语句。INSERT,UPDATE,DELETE,MERGE,CALL,EXPLAIN PLAN,LOCK TABLE。
DDL(Data Definition Languages):数据库定义语句。CREATE,ALTER,DROP,TRUNCATE,COMMENT,RENAME。
TCL(Transaction Control Language):事务控制语句。GRANT,REVOKE

三、基本使用语句

1、创建数据库

create database [数据库名];

 2、连接到创建的数据库

D:\postsql\bin\psql.exe -U postgres -d hhx

3、退出数据库

\q

4、使用 \l 查看已经存在的数据库

5、使用 \c + 数据库名进入数据库

6、删除数据库

DROP DATABASE [ IF EXISTS ] name
  • IF EXISTS:如果数据库不存在则发出提示信息,而不是错误信息。
  • name:要删除的数据库的名称。

7、创建表格

CREATE TABLE 是一个关键词,用于告诉数据库系统将创建一个数据表。

实例:

创建了一个表,表名为 COMPANY 表格,主键为 IDNOT NULL 表示字段不允许包含 NULL 值:

CREATE TABLE COMPANY(ID INT PRIMARY KEY     NOT NULL,NAME           TEXT    NOT NULL,AGE            INT     NOT NULL,ADDRESS        CHAR(50),SALARY         REAL
);

8、\d 查看表格

9、\d + 表格名,查看表格信息

10、删除表格

//删除表格
drop table tablename;

11、模式(SCHEMA)

PostgreSQL 模式(SCHEMA)可以看着是一个表的集合。

一个模式可以包含视图、索引、数据类型、函数和操作符等。

相同的对象名称可以被用于不同的模式中而不会出现冲突,例如 schema1 和 myschema 都可以包含名为 mytable 的表。

使用模式的优势:

  • 允许多个用户使用一个数据库并且不会互相干扰。

  • 将数据库对象组织成逻辑组以便更容易管理。

  • 第三方应用的对象可以放在独立的模式中,这样它们就不会与其他对象的名称发生冲突。

语法:

CREATE SCHEMA myschema (
...
);

上述语句将创建一个名为 myschema 的模式。

模式通常用于组织和隔离数据库对象,防止对象名称冲突。

实例:

创建模式 myschema,根据该模式再创建一个表格

//创建模式
create schema myschema;//创建表格
create table myschema.company(ID   INT              NOT NULL,NAME VARCHAR (20)     NOT NULL,AGE  INT              NOT NULL,ADDRESS  CHAR (25),SALARY   DECIMAL (18, 2),PRIMARY KEY (ID)
);

查看结果:

12、删除模式

//删除一个为空的模式(其中的对象已经删除)
DROP SCHEMA myschema;//删除一个模式以及其中包含的所有对象
DROP SCHEMA myschema CASCADE;

13 、插入记录

格式:

INSERT INTO TABLE_NAME (column1, column2, column3,...columnN)
VALUES (value1, value2, value3,...valueN);

14、查询表格中的数据

select * from tablename;

15、查找select

//读取表中的某段数据
SELECT column1, column2,...columnN FROM table_name;//读取表中的所有数据
select * from tablename;

16、运算符

算术运算符

比较运算符

逻辑运算符

位运算符

17、WHERE子句

作用是过滤数据

SELECT column1, column2, columnN
FROM table_name
WHERE [condition1]

AND

找出符合多个条件的数据

select * from tablename where 条件1 and 条件2;

OR

找出满足多个条件中某一个条件的语句

select * from tablename where 条件1 or 条件2;

NOT NULL

找出某字段不为空的数据

select * from tablename where 字段 is not null;

LIKE

模糊查找

//查找name字段中以h开头的数据
select * from tablename where name like 'h%';

IN

找出该字段位于某范围的数据

//找出年龄为25或27的数据
select * from tablename where age in (25,27);

NOT IN

用法与IN相似

//找出年纪不为25或27的数据
select * from tablename where age not in (25,27);

BETWEEN

//找出年纪在25-27之间的数据
select * from tablename where age between 25 and 27;

18、update更新数据

UPDATE table_name
SET column1 = value1, column2 = value2...., columnN = valueN
WHERE [condition];

19、删除数据

DELETE FROM table_name WHERE [condition];

20、LIMIT子句

limit 子句用于限制 SELECT 语句中查询的数据的数量。

SELECT column1, column2, columnN 
FROM table_name
LIMIT [no of rows] OFFSET [row num]

21、ORDER BY 语句

ORDER BY 用于对一列或者多列数据进行升序(ASC)或者降序(DESC)排列。

//年龄升序排列
SELECT * FROM COMPANY ORDER BY AGE ASC;

22、ORDER BY 语句

GROUP BY 语句和 SELECT 语句一起使用,用来对相同的数据进行分组。

 

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

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

相关文章

【vue-8】记事本案例

小知识点&#xff1a; 列表末尾插入数据&#xff1a; list.push("lihua") 列表删除数据&#xff1a; # index要删除数据的索引值&#xff0c;1为删除数据长度 list.splice(index,1) 完整示例代码&#xff1a; <!DOCTYPE html> <html lang"en&quo…

Vue3+Vite报错:vite忽略.vue扩展名 Failed to resolve import ..... Does the file exist?

Vue3Vite报错&#xff1a;vite忽略.vue扩展名 Failed to resolve import … Does the file exist? 先看报错&#xff1a; 分析原因 原因是我们没有写后缀名 建议你在你的vite.config.js中加上如下配置 import { defineConfig } from "vite"; import vue from &qu…

NMF算法

1. NMF算法 NMF算法&#xff0c;即非负矩阵分解&#xff0c;是一种无监督学习算法&#xff0c;主要用于数据降维和特征提取&#xff0c;特别是在数据元素具有非负性约束的情况下。 NMF是一种数据降维模型&#xff0c;它的基本模型是通过矩阵分解将非负数据转换到新的空间&…

【调试笔记-20240612-Linux-在 QEMU 中配置 OpenWrt-23.05 支持访问 Windows 宿主机的共享目录】

调试笔记-系列文章目录 调试笔记-20240612-Linux-在 QEMU 中配置 OpenWrt-23.05 支持访问 Windows 宿主机的共享目录 文章目录 调试笔记-系列文章目录调试笔记-20240612-Linux-在 QEMU 中配置 OpenWrt-23.05 支持访问 Windows 宿主机的共享目录 前言一、调试环境操作系统&…

MIPI A-PHY协议学习

一、说明 A-PHY是一种高带宽串行传输技术,主要为了减少传输线并实现长距离传输的目的,比较适用于汽车。同时,A-PHY兼容摄像头的CSI协议和显示的DSI协议。其主要特征: 长距离传输,高达15m和4个线内连接器; 高速率,支持2Gbps~16Gbps; 支持多种车载线缆(同轴线、屏蔽差分…

5.2 参照完整性

5.2.1 外键约束 语法格式&#xff1a;constraint < symbol > foreign key ( col_nam1[, col_nam2... ] ) references table_name (col_nam1[, col_nam2...]) [ on delete { restrict | cascade | set null | no action } ] [ on update { restrict | cascade | set nu…

[CAN] 创建解析CAN报文DBC文件教程

&#x1f449;本教程需要先安装CANdb软件&#xff0c;[CAN] DBC数据库编辑器的下载与安装 &#x1f64b;前言 DBC(全称为Database CAN)&#xff0c;是用于描述单个CAN网络中各逻辑节点的信息。 DBC是汽车ECU&#xff08;Electronic Control Unit&#xff0c;电子控制单元&…

RocketMQ事务性消息

RocketMQ事务性消息是一定能保证消息发送成功的 事务消息发送步骤&#xff1a; &#xff08;1&#xff09;发送方将半事务消息发送至RocketMQ服务端。 &#xff08;2&#xff09;RocketMQ服务端将消息持久化之后&#xff0c;向发送方返回ack确认消息已经发送成功。由于消息为…

STM32项目分享:智能家居语音系统

目录 一、前言 二、项目简介 1.功能详解 2.主要器件 三、原理图设计 四、PCB硬件设计 1.PCB图 2.PCB打板焊接图: 五、程序设计 六、实验效果 七、包含内容 项目分享 一、前言 项目成品图片&#xff1a; 哔哩哔哩视频链接&#xff1a; https://www.bilibili.com…

Python算法于强化学习库之rlax使用详解

概要 在强化学习领域,开发和测试各种算法需要使用高效的工具和库。rlax 是 Google 开发的一个专注于强化学习的库,旨在提供一组用于构建和测试强化学习算法的基础构件。rlax 基于 JAX,利用 JAX 的自动微分和加速计算功能,使得强化学习算法的实现更加高效和简洁。本文将详细…

CPT204 Advanced OO Programming(2)

W5 Lists_stacks_queues_priority queues  To explore the relationship between interfaces and classes in the Java Collections Framework hierarchy.  To use the common methods defined in the Collectioninterface for operating collections.  To use…

⌈ 传知代码 ⌋ ERA-CoT: 实体关系推理

&#x1f49b;前情提要&#x1f49b; 本文是传知代码平台中的相关前沿知识与技术的分享~ 接下来我们即将进入一个全新的空间&#xff0c;对技术有一个全新的视角~ 本文所涉及所有资源均在传知代码平台可获取 以下的内容一定会让你对AI 赋能时代有一个颠覆性的认识哦&#x…

Xmind导入纯文本TXT方法

最近有很多同事咨询我如何在xmind直接导入纯文本txt笔记或者思维导图呢&#xff1f; 解决办法如下&#xff1a; 1.先打开xmind随便打开一个思维导图-文件-导出-marldown 2.选中导出的markdown文件。右键-打开方式-苹果系统选择文本编辑&#xff0c;Win系统选择记事本 3.按照图示…

Unity动画录制工具在运行时录制和保存模型骨骼运动的方法录制动画给其他角色模型使用支持JSON、FBX等格式

如果您正在寻找一种在运行时录制和保存模型骨骼运动的方法&#xff0c;那么此插件是满足您需求的完美解决方案。 实时录制角色运动 将录制到的角色动作转为动画文件 将录制好的动作给新的角色模型使用&#xff0c;完美复制 支持导出FBX格式 操作简单&#xff0c;有按钮界面…

SpringCache 缓存 - @Cacheable、@CacheEvict、@CachePut、@Caching、CacheConfig 以及优劣分析

目录 SpringCache 缓存 环境配置 1&#xff09;依赖如下 2&#xff09;配置文件 3&#xff09;设置缓存的 value 序列化为 JSON 格式 4&#xff09;EnableCaching 实战开发 Cacheable CacheEvict CachePut Caching CacheConfig SpringCache 的优势和劣势 读操作…

ADS基础教程19 - 电磁仿真(EM)基本概念和实操

EM介绍 一、引言二、基本概念1.EM介绍2.Momentum介绍3.FEM介绍4.Substrate介绍 三、创建Layout并进行Momentum仿真1.创建Layout2.添加Microtrip&#xff08;微带线&#xff09;3.添加Substrate4.Momentum仿真 四、总结 一、引言 本章节开始介绍EM的基本概念、内容以及实现具体…

反向传播算法

在深度学习和神经网络中&#xff0c;反向传播算法是一种至关重要的技术&#xff0c;它使得网络能够通过学习不断调整自身的参数以优化性能。作为训练神经网络的核心机制&#xff0c;反向传播通过计算损失函数对模型参数的梯度&#xff0c;并据此更新网络权重&#xff0c;从而逐…

this关键字,构造函数(构造器)

文章目录 thisthis是什么应用场景 构造器注意事项代码演示 this this是什么 this就是一个变量&#xff0c;可以在方法中&#xff0c;拿到当前对象 应用场景 解决变量名称 冲突问题 构造器 注意事项 必须和类名相同没有返回值只要参数不同&#xff08;个数不同&#xff0…

ISO 26262《道路车辆功能安全》

ISO 26262是关于道路车辆功能安全的国际标准&#xff0c;专门针对总重不超过3.5吨的八座乘用车及其安全相关电子电气系统&#xff08;E/E系统&#xff09;的功能安全而制定。以下是关于ISO 26262的详细解释&#xff1a; 一、背景与目的 ISO 26262是在2011年11月15日正式发布的…

Java基础面试重点-2

21. JVM是如何处理异常&#xff08;大概流程&#xff09;&#xff1f; 如果发生异常&#xff0c;方法会创建一个异常对象&#xff08;包括&#xff1a;异常名称、异常描述以及异常发生时应用程序的状态&#xff09;&#xff0c;并转交给JVM。创建异常对象&#xff0c;并转交给…