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

PostgreSQL数据库基础--简易版

数据库

其中runoobdb为数据库名

  • 查看已经存在的数据库
\l
  • 进入数据库
\c runoobdb
  • 创建数据库
CREATE DATABASE runoobdb;
  • 删除数据库
DROP DATABASE runoobdb;

其中COMPANY为表名

  • 创建表格
CREATE TABLE COMPANY(ID INT PRIMARY KEY     NOT NULL,NAME           TEXT    NOT NULL,AGE            INT     NOT NULL,ADDRESS        CHAR(50),SALARY         REAL
);
  • 查看表格
\d
  • 查看表格信息
\d company
  • 查询表格数据
# 所有数据
SELECT * FROM company;
# 指定字段 ID,NAME  
SELECT ID,NAME FROM company;
# 找出 AGE(年龄) 字段大于等于 25,并且 SALARY(薪资) 字段大于等于 65000 的数据(使用WHERE)
SELECT * FROM COMPANY WHERE AGE >= 25 AND SALARY >= 65000;
# avg(),返回一个表达式的平均值;sum(),返回指定字段的总和;count(),返回查询的记录总数
# 使用(AS) 
SELECT COUNT(*) AS "RECORDS" FROM COMPANY;
# 在 COMPANY 表中找出 NAME(名字) 字段中以 Pa 开头的的数据
# WHERE ... LIKE ...
SELECT * FROM COMPANY WHERE NAME LIKE 'Pa%';
# BETWEEN ... AND ...和 
# IN 或
# 查询当前时间
SELECT CURRENT_TIMESTAMP;

在这里插入图片描述
在这里插入图片描述

# LIMIT 读取 4 条数据:
SELECT * FROM COMPANY LIMIT 4;
# LIMIT OFFSET 从第三位开始提取 3 个记录:
SELECT * FROM COMPANY LIMIT 3 OFFSET 2;
  • 插入数据
# 单行
INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY,JOIN_DATE) VALUES (1, 'Paul', 32, 'California', 20000.00,'2001-07-13');
# 缺字段
INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,JOIN_DATE) VALUES (2, 'Allen', 25, 'Texas', '2007-12-13');
# 设置默认值,而不是指定值
INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY,JOIN_DATE) VALUES (3, 'Teddy', 23, 'Norway', 20000.00, DEFAULT );
# 多行
INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY,JOIN_DATE) VALUES (4, 'Mark', 25, 'Rich-Mond ', 65000.00, '2007-12-13' ), (5, 'David', 27, 'Texas', 85000.00, '2007-12-13');
  • 删除数据
# DELETE FROM ...  WHERE ... 
DELETE FROM COMPANY WHERE ID = 2;
# 删除表的数据,但不删除表结构
TRUNCATE TABLE  table_name;
  • 更新表数据
# UPDATE ... SET ...WHERE ... UPDATE COMPANY SET SALARY = 15000 WHERE ID = 3;
  • 删除表格
drop table company;

模式

  • 创建模式 myschema
create schema myschema;
  • myschema模式下创建company表格
reate 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)
);
  • 删除一个为空的模式
DROP SCHEMA myschema;
  • 删除一个模式以及其中包含的所有对象
DROP SCHEMA myschema CASCADE;

事务

  • 启动事务
BEGIN;或者BEGIN TRANSACTION;
  • 把事务调用的更改保存到数据库中的事务命令,即确认事务
COMMIT;或者END TRANSACTION;
  • 撤消尚未保存到数据库的事务命令,即回滚事务
ROLLBACK;

例如:

BEGIN;
DELETE FROM COMPANY WHERE AGE = 25;
ROLLBACK;

ALTER TABLE 命令

在这里插入图片描述

索引

在这里插入图片描述

# 列出数据库中所有索引
\di
# 删除索引
DROP INDEX index_name;

触发器

在这里插入图片描述

# 列举所有触发器
SELECT * FROM pg_trigger;
# 删除触发器
drop trigger ${trigger_name} on ${table_name};

相关文章:

PostgreSQL数据库基础--简易版

数据库 其中runoobdb为数据库名 查看已经存在的数据库 \l进入数据库 \c runoobdb创建数据库 CREATE DATABASE runoobdb;删除数据库 DROP DATABASE runoobdb;表 其中COMPANY为表名 创建表格 CREATE TABLE COMPANY(ID INT PRIMARY KEY NOT NULL,NAME TEXT…...

前端解析URL的两种方式

方法一&#xff1a;利用 splice 分割 循环依次取出 方法一&#xff1a; function queryURLparams(url) {let obj {}if (url.indexOf(?) < 0) return objlet arr url.split(?)url arr[1]let array url.split(&)for (let i 0; i < array.length; i) {let arr2…...

Linux的学习之路:6、Linux编译器-gcc/g++使用

摘要 本文主要是说一些gcc的使用&#xff0c;g和gcc使用一样就没有特殊讲述。 目录 摘要 一、背景知识 二、gcc如何完成 1、预处理(进行宏替换) 2、编译&#xff08;生成汇编&#xff09; 3、汇编&#xff08;生成机器可识别代码 4、链接&#xff08;生成可执行文件或…...

分享2024 golang学习路线

写在前面 Go语言&#xff08;也称为Golang&#xff09;是Google开发的一种静态强类型、编译型语言&#xff0c;它具有简洁、快速、安全、并发等特点&#xff0c;尤其适合构建大型软件、微服务架构和云平台服务。Go的学习曲线相对平缓&#xff0c;社区活跃&#xff0c;是现代编…...

【Linux】进程间通信——system V版本 共享内存

目录 共享内存 原理 实践 shmget() 创建共享内存 shmctl() 删除共享内存 shmat() 挂接进程和共享内存 shmt() 进程和共享内存去关联 共享内存的特性 优势 劣势 用共享内存实现进程间通信 共享内存 原理 两个进程的PCB各自维护着一个进程地址空间。当两个进…...

【TEE论文】IceClave: A Trusted Execution Environment for In-Storage Computing

摘要 使用现代固态硬盘&#xff08;SSD&#xff09;的存储中计算使开发人员能够将程序从主机转移到SSD上。这被证明是缓解I/O瓶颈的有效方法。为了促进存储中计算&#xff0c;已经提出了许多框架。然而&#xff0c;其中很少有框架将存储中的安全性作为首要任务。具体而言&…...

【攻防世界】bug

垂直越权IP绕过文件上传 垂直越权 IP绕过 bp抓包&#xff0c;添加请求头X-Forwarded-For:127.0.0.1 文件上传 文件上传绕过&#xff1a; 1. mime检测&#xff08;Content-Type&#xff09; 2. 大小写绕过 3. 等价替换&#xff08;php5&#xff0c;php3&#xff09; 4. 利用J…...

详解UART通信协议以及FPGA实现

文章目录 一、UART概述二、UART协议帧格式2.1 波特率2.2 奇校验ODD2.3 偶校验EVEN 三、UART接收器设计3.1 接收时序图3.2 Verilog代码3.3 仿真文件测试3.4 仿真结果3.5 上版测试 四、UART发送器设计4.1 发送时序图4.2 Verilog代码4.3 仿真文件测试4.4 仿真结果4.5 上板测试 五、…...

【算法】删除链表中重复元素

本题来源---《删除链表中重复元素》。 题目描述 给定一个已排序的链表的头 head &#xff0c; 删除所有重复的元素&#xff0c;使每个元素只出现一次 。返回已排序的链表 。 示例 1&#xff1a; 输入&#xff1a;head [1,1,2] 输出&#xff1a;[1,2]示例 2&#xff1a; 输入…...

mysql防坑指南

1. MySQL连接数问题 MySQL里的max_connections参数代表mysql数据库的最大连接数&#xff0c;参数默认是151&#xff0c;显然不适用于生产&#xff0c;如果请求大于默认连接数&#xff0c;就会出现无法连接数据库的错误&#xff0c;会遇到too many connections的报错信息。 Mys…...

偏微分方程算法之混合边界差分

目录 一、研究对象 二、差分格式 2.1 向前欧拉格式 1. 中心差商 1.1.1 理论推导 1.1.2 算例实现 2. x0处向前差商&#xff0c;x1处向后差商 1.2.1 理论推导 1.2.2 算例实现 2.2 Crank-Nicolson格式 2.2.1 理论推导 2.2.2 算例实现 一、研究对象 这里我们以混合边界…...

中国八大古都,分别是哪8个?

中国历史上统一王朝或者在全局范围内看呈鼎立之势的大的政权的首都&#xff0c;称古都&#xff0c;又称都城、国都等&#xff0c;是古代王朝的政治中心&#xff0c;也是经济和文化中心。 1、西安 西安&#xff0c;古称长安&#xff0c;是中国历史上建都时间最长、建都朝代最多…...

财务信息化与财务软件有何区别与联系?

财务产品与财务信息化&#xff0c;两者究竟有何不同&#xff0c;又有何相通之处&#xff1f;或许&#xff0c;你心中也充满了这样的疑惑。那么&#xff0c;让我用一则小故事&#xff0c;为你揭晓其中的秘密。 想象这样一个场景&#xff0c;长尾狐狸&#xff0c;作为饭团公司的…...

ssm052游戏攻略网站的设计与实现+vue

游戏攻略网站设计与实现 摘 要 现代经济快节奏发展以及不断完善升级的信息化技术&#xff0c;让传统数据信息的管理升级为软件存储&#xff0c;归纳&#xff0c;集中处理数据信息的管理方式。本游戏攻略网站就是在这样的大环境下诞生&#xff0c;其可以帮助管理者在短时间内处…...

SAP Credit Memo 到期日设置技巧

当我们用FB60, MIRO或者FB70 记账vendor或者customer 的Credit Memo的时候&#xff0c;我们发现Credit Memo的Due Date不受付款条款的影响&#xff0c;默认为跟baseline date是同一天&#xff0c;并且无法手工更改&#xff0c;那么如果要设置到期日怎么操作呢&#xff1f; 首先…...

软件开发安全设计方案

2.1.应用系统架构安全设计要求 2.2.应用系统软件功能安全设计要求 2.3.应用系统存储安全设计要求 2.4.应用系统通讯安全设计要求 2.5.应用系统数据库安全设计要求 2.6.应用系统数据安全设计要求 软件开发全资料获取&#xff1a;软件开发全套资料_软件开发资料-CSDN博客https://…...

【Zabbix】zabbix 软件监控

使用zabbix监控系统查看服务器状态以及网站流量指标&#xff0c;利用监控系统的数据去了解上线发布的结果&#xff0c;和网站的健康状态 利用一个优秀的监控软件&#xff0c;我们可以: ●通过一个友好的界面进行浏览整个网站所有的服务器状态 ●可以在 Web 前端方便的查看监控…...

Vue Router 路由动态缓存组件

文章目录 一、简介基本用法生命周期钩子 二、定义是否缓存组件三、缓存组件1. 通过 :include 属性实现vue2.x中vue3.x中 2. 通过 v-slot 功能实现3. 通过 v-if 来实现 四、注意事项 一、简介 Vue Router 允许你缓存路由组件&#xff0c;这样在用户导航回之前的页面时&#xff…...

数据结构:线性表————单链表专题

&#x1f308;个人主页&#xff1a;小新_- &#x1f388;个人座右铭&#xff1a;“成功者不是从不失败的人&#xff0c;而是从不放弃的人&#xff01;”&#x1f388; &#x1f381;欢迎各位→点赞&#x1f44d; 收藏⭐️ 留言&#x1f4dd; &#x1f3c6;所属专栏&#xff1…...

多线程(54)JMM中的内存屏障

Java内存模型&#xff08;JMM&#xff09;中的内存屏障是一种保证内存可见性、顺序性的底层机制。它们是一组指令&#xff0c;用于在多线程环境中确保内存操作的有序性和可见性。内存屏障主要分为四类&#xff1a;LoadLoad、StoreStore、LoadStore和StoreLoad。 内存屏障的类型…...

eNSP-Cloud(实现本地电脑与eNSP内设备之间通信)

说明&#xff1a; 想象一下&#xff0c;你正在用eNSP搭建一个虚拟的网络世界&#xff0c;里面有虚拟的路由器、交换机、电脑&#xff08;PC&#xff09;等等。这些设备都在你的电脑里面“运行”&#xff0c;它们之间可以互相通信&#xff0c;就像一个封闭的小王国。 但是&#…...

业务系统对接大模型的基础方案:架构设计与关键步骤

业务系统对接大模型&#xff1a;架构设计与关键步骤 在当今数字化转型的浪潮中&#xff0c;大语言模型&#xff08;LLM&#xff09;已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中&#xff0c;不仅可以优化用户体验&#xff0c;还能为业务决策提供…...

在 Nginx Stream 层“改写”MQTT ngx_stream_mqtt_filter_module

1、为什么要修改 CONNECT 报文&#xff1f; 多租户隔离&#xff1a;自动为接入设备追加租户前缀&#xff0c;后端按 ClientID 拆分队列。零代码鉴权&#xff1a;将入站用户名替换为 OAuth Access-Token&#xff0c;后端 Broker 统一校验。灰度发布&#xff1a;根据 IP/地理位写…...

06 Deep learning神经网络编程基础 激活函数 --吴恩达

深度学习激活函数详解 一、核心作用 引入非线性:使神经网络可学习复杂模式控制输出范围:如Sigmoid将输出限制在(0,1)梯度传递:影响反向传播的稳定性二、常见类型及数学表达 Sigmoid σ ( x ) = 1 1 +...

Android第十三次面试总结(四大 组件基础)

Activity生命周期和四大启动模式详解 一、Activity 生命周期 Activity 的生命周期由一系列回调方法组成&#xff0c;用于管理其创建、可见性、焦点和销毁过程。以下是核心方法及其调用时机&#xff1a; ​onCreate()​​ ​调用时机​&#xff1a;Activity 首次创建时调用。​…...

A2A JS SDK 完整教程:快速入门指南

目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库&#xff…...

Golang——6、指针和结构体

指针和结构体 1、指针1.1、指针地址和指针类型1.2、指针取值1.3、new和make 2、结构体2.1、type关键字的使用2.2、结构体的定义和初始化2.3、结构体方法和接收者2.4、给任意类型添加方法2.5、结构体的匿名字段2.6、嵌套结构体2.7、嵌套匿名结构体2.8、结构体的继承 3、结构体与…...

[ACTF2020 新生赛]Include 1(php://filter伪协议)

题目 做法 启动靶机&#xff0c;点进去 点进去 查看URL&#xff0c;有 ?fileflag.php说明存在文件包含&#xff0c;原理是php://filter 协议 当它与包含函数结合时&#xff0c;php://filter流会被当作php文件执行。 用php://filter加编码&#xff0c;能让PHP把文件内容…...

从面试角度回答Android中ContentProvider启动原理

Android中ContentProvider原理的面试角度解析&#xff0c;分为​​已启动​​和​​未启动​​两种场景&#xff1a; 一、ContentProvider已启动的情况 1. ​​核心流程​​ ​​触发条件​​&#xff1a;当其他组件&#xff08;如Activity、Service&#xff09;通过ContentR…...

绕过 Xcode?使用 Appuploader和主流工具实现 iOS 上架自动化

iOS 应用的发布流程一直是开发链路中最“苹果味”的环节&#xff1a;强依赖 Xcode、必须使用 macOS、各种证书和描述文件配置……对很多跨平台开发者来说&#xff0c;这一套流程并不友好。 特别是当你的项目主要在 Windows 或 Linux 下开发&#xff08;例如 Flutter、React Na…...