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};

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

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

相关文章

DedeCMS 未授权远程命令执行漏洞分析

dedecms介绍 DedeCMS是国内专业的PHP网站内容管理系统-织梦内容管理系统,采用XML名字空间风格核心模板:模板全部使用文件形式保存,对用户设计模板、网站升级转移均提供很大的便利,健壮的模板标签为站长DIY自己的网站提供了强有力…

Vim:强大的文本编辑器

文章目录 Vim:强大的文本编辑器Vim的模式命令模式常用操作光标移动文本编辑查找和替换 底行命令模式常用操作Vim的多窗口操作批量注释与去注释Vim插件推荐:vimforcpp结论 Vim:强大的文本编辑器 Vim,代表 Vi IMproved,…

SpringAI初体验之HelloWorld

目录 前言1.准备工作2.初始化项目3.解决问题3.1 Connection Time out 连接超时问题3.2 You exceeded your current quota 额度超限问题 4.访问调用5.总结 前言 在逛SpringBoot页面时突然看到页面上新增了一个SpringAI项目,于是试了一下,感觉还行。其实就是封装了各家…

业务架构扩展六大元素

背景 目前主流的业务架构就是价值流能力,在这套架构体系中,有四个核心元素,分别是价值流、业务能力、信息、组织。上个章节已经讲述: 业务架构的四大核心元素-CSDN博客 这一节,对于外围的六个扩展元素,逐…

react antd 实现修改密码(原密码,新密码,再次输入新密码,新密码增加正则复杂度校验)

先看样子 组件代码: import React, { useState, useEffect } from react import { Row, Col, Modal, Spin, Input, Button, message, Form } from antd import { LockOutlined, EyeTwoTone, EyeInvisibleOutlined } from ant-design/icons import * as Serve from …

Plotly : 超好用的Python可视化工具

​ 1. 引言 数据可视化是数据分析和探索的一个重要方面。它有助于深入了解数据集中的潜在模式、趋势和关系。Plotly 是一个功能强大、用途广泛的 Python 库,它为创建交互式、视觉上吸引人的图表提供了多种工具。 在本文中,我们将深入 Plotly 的世界&a…

【C++】详解类的--封装思想(让你丝滑的从C语言过度到C++!!)

目录 一、前言 二、【面向过程】 与 【面向对象】 三、结构体 与 类 🍎C中结构体的变化 🍉C中结构体的具体使用 🍐结构体 --> 类 ✨类-----语法格式: ✨类的两种定义方式: 四、类的访问限定符及封装【⭐】 …

vite打包大小可视化rollup-plugin-visualizer

在 Vite 项目中使用 rollup-plugin-visualizer 插件可以可视化分析打包后的文件大小。要在 Vite 项目中使用该插件,可以按照以下步骤进行操作: 首先,安装 rollup-plugin-visualizer 插件: npm install rollup-plugin-visualizer…

idea keymap用eclipse的相关快捷键

idea快捷键用eclipse的方式 CtrlShiftR 搜索文件 shiftshift 全部文件/类搜索 CtrlH 全局搜索 CtrlO 快速打开Outline大纲视图 ctrle 查看recent窗口文件 ctrlt 快速进入接口的实现类 ctrlshiftf 格式化代码 altshiftr 变量或函数的重命名 ctrlshifto 移除无用的头文…

算法修炼之路之双指针含多道leetcode 经典题目

目录 前言 一:普通双指针 1.经典题目一 283移动0问题 分析 代码实现 2.经典题目二 1089复写0 分析 代码实现 二:解决成环类问题-快慢指针 经典例题一 202快乐数 分析 代码实现 三:左右相遇指针 经典例题一 11 盛最多水的容…

ABAP-CPI-Odata POST-create_deep_entity 多层嵌套的处理及CPI端的调用

该文章演示怎么在OData里,创建一个多套多的请求结构,传入数据处理后,返回多层级的处理结果;以及如何在CPI里写groovy脚本,去解析它;最后如何用postman模拟外围系统,调用CPI这个接口,从而去调用Odata接口 假如想用SAP Odata去实现传入多层级的数据,进行创建或者根据传入…

ASUS华硕灵耀Pro14笔记本AMD锐龙版M7400QC,M7600QA原厂Win11系统工厂包下载

恢复华硕灵耀14PRO出厂开箱状态预装OEM系统Windows11工厂模式安装包,带Recovery恢复还原功能 适用型号: M7400QC、M7400QE、M7400QEB M7600QC、M7600QE、M7600QA、M7600QCB 链接:https://pan.baidu.com/s/1dIGRAKJQLQt_JcKbQWFxJg?pwdbn…