PostgreSQL 基本SQL语法(二)

1. SELECT 语句

1.1 基本 SELECT 语法

SELECT 语句用于从数据库中检索数据。基本语法如下:

SELECT column1, column2, ... FROM table_name;

例如,从 users 表中检索所有列的数据:

SELECT * FROM users;

1.2 使用 WHERE 条件

WHERE 子句用于过滤数据,仅返回满足条件的记录。基本语法如下:

SELECT column1, column2, ... FROM table_name WHERE condition;

例如,查询用户名为 alice 的用户:

SELECT * FROM users WHERE username = 'alice';

1.3 排序与限制(ORDER BY, LIMIT)

  • ORDER BY 子句用于对查询结果进行排序。
  • LIMIT 子句用于限制返回的记录数。

基本语法如下:

SELECT column1, column2, ... FROM table_name ORDER BY column1 [ASC|DESC] LIMIT number;

例如,按创建时间排序并返回前 5 条记录:

SELECT * FROM users ORDER BY created_at DESC LIMIT 5;

2. INSERT 语句

2.1 基本 INSERT 语法

INSERT 语句用于向表中插入数据。基本语法如下:

INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...);

例如,向 users 表中插入一条新记录:

INSERT INTO users (username, email) VALUES ('bob', 'bob@example.com');

2.2 插入多条记录

可以一次插入多条记录:

INSERT INTO users (username, email) VALUES ('charlie', 'charlie@example.com'), ('dave', 'dave@example.com');

2.3 插入数据的注意事项

  • 插入的数据类型必须与列的数据类型匹配。
  • 插入记录时,如果某列没有提供值且该列定义了默认值,则使用默认值。

3. UPDATE 语句

3.1 基本 UPDATE 语法

UPDATE 语句用于更新表中的数据。基本语法如下:

UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE condition;

例如,更新 bob 的电子邮件地址:

UPDATE users SET email = 'bob@newdomain.com' WHERE username = 'bob';

3.2 更新多个列

可以同时更新多个列:

UPDATE users SET email = 'dave@newdomain.com', username = 'dave_new' WHERE username = 'dave';

3.3 使用 RETURNING 返回更新后的数据

RETURNING 子句用于返回更新后的数据:

UPDATE users SET email = 'bob@anotherdomain.com' WHERE username = 'bob' RETURNING *;

4. DELETE 语句

4.1 基本 DELETE 语法

DELETE 语句用于从表中删除数据。基本语法如下:

DELETE FROM table_name WHERE condition;

例如,删除用户名为 charlie 的用户:

DELETE FROM users WHERE username = 'charlie';

4.2 使用 RETURNING 返回删除的数据

RETURNING 子句用于返回删除的数据:

DELETE FROM users WHERE username = 'charlie' RETURNING *;

5. 实战演练

5.1 练习题目

  1. 创建一个新表 products,包括以下列:

    • id(整数,主键,自增)
    • name(字符串,最大长度 100,不为空)
    • price(浮点数,不为空)
    • created_at(时间戳,默认为当前时间)
  2. products 表中插入以下数据:

    • nameLaptopprice 为 1200.00
    • nameSmartphoneprice 为 800.00
  3. 查询 products 表中所有价格大于 1000 的产品。

  4. Laptop 的价格更新为 1000.00,并返回更新后的记录。

  5. 删除 Smartphone 产品,并返回删除的记录。

5.2 示例答案

  1. 创建表:
CREATE TABLE products (id SERIAL PRIMARY KEY,name VARCHAR(100) NOT NULL,price NUMERIC NOT NULL,created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
  1. 插入数据:
INSERT INTO products (name, price)
VALUES ('Laptop', 1200.00),('Smartphone', 800.00);
  1. 查询价格大于 1000 的产品:
SELECT * FROM products WHERE price > 1000;
  1. 更新 Laptop 的价格并返回更新后的记录:
UPDATE products SET price = 1000.00 WHERE name = 'Laptop' RETURNING *;
  1. 删除 Smartphone 产品并返回删除的记录:
DELETE FROM products WHERE name = 'Smartphone' RETURNING *;


系统文章目录:

PostgreSQL 简介与基础(一)

PostgreSQL 基本SQL语法(二)

PostgreSQL 高级SQL查询(三)

PostgreSQL 数据库设计与管理(四)

PostgreSQL 高级功能(五)

PostgreSQL 性能优化与调优(六)

PostgreSQL 高可用性与灾难恢复策略(七)

PostgreSQL 安全性与权限管理(八)

PostgreSQL 高级功能与扩展(九)

PostgreSQL 分区表与并行查询(十)

PostgreSQL 索引优化与性能调优(十一)

PostgreSQL 日志管理与故障排查(十二)

PostgreSQL 高可用性与容错性(十三)

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

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

相关文章

RabbitMQ实践——搭建多人聊天服务

大纲 用户登录创建聊天室监听Stream(聊天室)发送消息实验登录Tom侧Jerry侧 创建聊天室Jerry侧Tom侧 进入聊天室Jerry侧Tom侧 发送消息Jerry发送消息Jerry侧聊天室Tom侧聊天室 Tom发送消息Jerry侧聊天室Tom侧聊天室 代码工程参考资料 在《RabbitMQ实践——…

Webpack: 前端资深构建工具

概述 如果你是一名前端工程师,相信之前或多或少听过、用过 Webpack 这一构建工具,它能够融合多种工程化工具,将开发阶段的应用代码编译、打包成适合网络分发、客户端运行的应用产物如今,Webpack 已经深深渗入到前端工程的方方面面…

简单了解IoC

IoC 什么是IoC? IoC(Inversion of Control),即控制反转,这是一种设计思想,在Spring指将对象的控制权交给Spring容器,由容器来实现对象的创建、管理,程序员只需要从容器获取想要的对…

java设计模式(四)原型模式(Prototype Pattern)

1、模式介绍: 原型模式(Prototype Pattern)是一种创建型设计模式,它允许对象在创建新实例时通过复制现有实例而不是通过实例化新对象来完成。这样做可以避免耗费大量的资源和时间来初始化对象。原型模式涉及一个被复制的原型对象…

ES6模板字符串详解

ES6是JavaScript语言的一次重大更新,引入了许多新特性和语法改进,其中模板字符串是一个非常实用和灵活的语法特性。它可以让我们从数组或对象中提取值,并赋给对应的变量,让代码变得更加简洁和易读。 本文将深入探讨ES6解构赋值的语…

域控制器BSP开发工程师面试题

在域控制器BSP(Board Support Package)开发工程师的面试中,可能会遇到以下一些问题。以下是根据参考文章和相关知识整理的面试题及其可能的回答格式: 面试题1:请简要介绍一下您对域控制器BSP的理解。 回答: 域控制器BSP,即板卡支持包,是嵌入式系统开发中的关键组成部…

Nginx开发--动静分离和URLRewrite

05 【动静分离和URLRewrite】 1.动静分离介绍 为了提高网站的响应速度,减轻程序服务器(Tomcat,Jboss等)的负载,对于静态资源,如图片、js、css等文件,可以在反向代理服务器中进行缓存&#xff…

减少液氮罐内液氮损耗的方法

监测与管理液氮容器的密封性能 液氮容器的密封性能直接影响液氮的损耗情况。一个常见的损耗源是容器本身的密封不良或老化导致的泄漏。为了有效减少液氮损耗,首先应当定期检查液氮容器的密封性能。这可以通过简单的方法如肉眼检查外观,或者更精确的方法…

KALI LINUX 开启ssh免登录服务及固定ip及

SSH以进行远程登录 在Kali Linux中启用SSH以进行远程登录,请按照以下步骤操作: 安装SSH服务:sudo apt update sudo apt install openssh-server 已安装可忽略 sudo systemctl start ssh 启动SSH服务 sudo systemctl enable ssh 确保SSH服务设置为开机启动: (可选)如…

xxl-job 分布式任务调度 基本使用

xxl-job 是一个分布式任务调度平台,使用非常方便。 官网:https://gitee.com/xuxueli0323/xxl-job 工作原理类似于nacos 执行器注册到调度中心 调度中心分配任务 执行器执行任务 docker-compose 配置 version: 3 services:xxl-job:image: xuxueli/xxl-…

科普文:外贸垃圾邮件判定

国外垃圾邮件判定规则 很多时候,外贸的沟通多以邮件为主,他们作为专业的采购商,每天邮箱里都会塞满了邮件。因此,为了提高工作效率,很多国外客户喜欢使用垃圾邮件过滤器来过滤掉一部分垃圾邮件。 以下几种情况会触发垃…

《重构》读书笔记【第1章 重构,第一个示例,第2章 重构原则】

文章目录 第1章 重构,第一个示例1.1 重构前1.2 重构后 第2章 重构原则2.1 何谓重构2.2 两顶帽子2.3 为何重构2.4 何时重构2.5 重构和开发过程 第1章 重构,第一个示例 我这里使用的IDE是IntelliJ IDEA 1.1 重构前 plays.js export const plays {&quo…

【学习笔记】ElasticSearch

中文社区:https://elasticsearch.cn/ Cluster集群,一个ES集群由一个或多个节点(Node)组成,每个集群都有一个Cluster Name作为标识 Node节点,一个ES实例就是一个node,一个机器可以有多个实例&a…

工具提示框(Tooltip): 设计、应用与最佳实践

工具提示框(Tooltip): 设计、应用与最佳实践 引言 工具提示框(Tooltip)是用户界面(UI)设计中的一种常见元素,它为用户提供关于界面元素或操作的额外信息。当用户将鼠标悬停在某个元素上时,Tooltip会以文本形式显示相关信息,帮助用户更好地理解和使用界面。本文将探讨…

AcWing算法基础课笔记——高斯消元

高斯消元 用来求解方程组 a 11 x 1 a 12 x 2 ⋯ a 1 n x n b 1 a 21 x 1 a 22 x 2 ⋯ a 2 n x n b 2 … a n 1 x 1 a n 2 x 2 ⋯ a n n x n b n a_{11} x_1 a_{12} x_2 \dots a_{1n} x_n b_1\\ a_{21} x_1 a_{22} x_2 \dots a_{2n} x_n b_2\\ \dots \\ a…

Android 使用cmd wifi命令操作wifi

cmd wifi 命令完整的说明说下。 console:/ # cmd wifi Wi-Fi (wifi) commands:help or -hPrint this help text.get-country-codeGets country code as a two-letter stringset-wifi-enabled enabled|disabledEnables…

论文导读 | Manufacturing Service Operations Management近期文章精选

编者按 在本系列文章中,我们梳理了顶刊Manufacturing & Service Operations Management5月份发布有关OR/OM以及相关应用的文章之基本信息,旨在帮助读者快速洞察行业/学界最新动态。 推荐文章1 ● 题目:Robust Drone Delivery with Weath…

【C++题解】1712. 输出满足条件的整数2

问题:1712. 输出满足条件的整数2 类型:简单循环 题目描述: 有这样的三位数,其百位、十位、个位的数字之和为偶数,且百位大于十位,十位大于个位,请输出满所有满足条件的整数。 输入&#xff1…

#05搜索法

要点: ①搜索法:穷举搜索、深度优先搜索、广度优先搜索、广深结合搜索、回溯法、分支限界法; ②解空间树:子集树、排列树、满m叉树。 ③回溯法及分支限界法求解问题的方法与步骤。 难点: 子集树、排列树和满m叉树…

小程序下拉刷新,加载更多数据,移动端分页

文章目录 页面结构图WXML页面代码js代码wxss代码总结备注 参考&#xff1a;https://juejin.cn/post/7222855604406796346 页面结构图 一般页面就4个结构&#xff1a;最外滚动层、数据展示层、暂无数据层、没有更多数据层。 如图&#xff1a; WXML页面代码 <scroll-view …