PostgreSQL 基础知识

执行环境: psql

1. 创建一个表格

CREATE TABLE customers (
customer_id serial PRIMARY KEY,firstname VARCHAR(100) NOT NULL,lastname VARCHAR(100) NOT NULL,username VARCHAR(50) UNIQUE NOT NULL,password VARCHAR(50) NOT NULL,email VARCHAR(255) UNIQUE NOT NULL,created_on TIMESTAMPTZ NOT NULL	
);
  • customer_id:这是一个序列,意味着它将自动递增,用作主键,用来唯一标识每个客户。
  • created_on:这是一个不允许为空的日期时间字段,用来存储客户的创建时间。

2. 插入

INSERT INTO customers(firstname, lastname, username, password, email, created_on)
VALUES('Elizabeth', 'Banks', 'elizabethbanks', '4s$5eks9m', 'elizabethbanks@myemail.com', CURRENT_TIMESTAMP);
SELECT * FROM customers;

在这里插入图片描述

插入两条记录

INSERT INTO customers(firstname, lastname, username, password, email, created_on)
VALUES('Nicole', 'Kidman', 'nkidman', '392kMLK!m', 'nicole@kidman.com', CURRENT_TIMESTAMP),
('Leroy', 'Jenkins', 'leeroy', '4k2ln@Lm', 'leroy@email.com', CURRENT_TIMESTAMP);
SELECT * FROM customers;

在这里插入图片描述

3. 修改

UPDATE customers
SET username='aliceinwonderland'
WHERE email=
'elizabethbanks@myemail.com';
SELECT * FROM customers;

在这里插入图片描述

4. 查找

SELECT * FROM customers WHERE username='aliceinwonderland';

在这里插入图片描述

仅当"email"字段的值满足特定模式时才被选择,这个模式是以"@myemail.com"结尾的,而"%"符号表示可以有零个或多个字符。
SELECT username FROM customers WHERE email LIKE '%@myemail.com';

在这里插入图片描述

利用选择的数据创建一个新表
CREATE TABLE usernames AS SELECT username FROM customers WHERE email LIKE '%@myemail.com';

在这里插入图片描述

5. 排序

选择的数据将按照"lastname"字段进行降序排列
SELECT firstname, lastname
FROM customers
ORDER BY lastname DESC;

在这里插入图片描述

返回的结果将会包含每个客户的完整姓名、邮箱地址以及密码的长度,并且按照密码长度从短到长进行排序。
SELECT firstname || ' ' || lastname fullname, email, LENGTH(password) passwordlength
FROM customers
ORDER BY passwordlength;

在这里插入图片描述

选择 password 长度小于9的数据
SELECT firstname || ' ' || lastname fullname, email, LENGTH(password) passwordlength
FROM customers
WHERE LENGTH(password) < 9
ORDER BY passwordlength;

在这里插入图片描述

6. 删除

使用RETURNING关键字,返回受影响的行。
DELETE FROM customers
WHERE customer_id = 1
RETURNING *;

在这里插入图片描述

从"customers"表中删除"username"字段不等于’nkidman’的行
DELETE FROM customers
WHERE username <> 'nkidman'
RETURNING *;

在这里插入图片描述

从"customers"表中删除所有行。
DELETE FROM customers
RETURNING *;

在这里插入图片描述

7. 创建只读用户

该用户的有效期截止到’2024-02-02’。
CREATE USER readitralph
WITH PASSWORD 'password'
VALID UNTIL '2024-02-02';
授予名为"readitralph"的用户对数据库中所有数据的读取权限。
GRANT pg_read_all_data TO readitralph;

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

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

相关文章

FreeRTOS 中断管理介绍和实操

目录 中断定义 中断优先级 相关注意 中断相关函数 1.队列 2.信号量 3.事件标志组 4.任务通知 5.软件定时器 中断管理实操 中断定义 中断是指在程序执行的过程中&#xff0c;突然发生了某种事件&#xff0c;需要立即停止当前正在执行的程序&#xff0c;并转而处理这个…

内网穿透工具之NATAPP(一)

使用工具前&#xff0c;有必要了解一下什么是内网穿透吧&#xff01; 内网穿透简单来说就是将内网外网通过natapp隧道打通,让内网的数据让外网可以获取。比如常用的办公室软件等&#xff0c;一般在办公室或家里&#xff0c;通过拨号上网&#xff0c;这样办公软件只有在本地的局…

手写RPC框架

文章目录 什么是RPC框架RPC框架中的关键点通信协议序列化协议动态代理和反射 目前已有的RPC框架手写RPC框架介绍项目框架项目执行流程项目启动 什么是RPC框架 RPC&#xff08;Remote Procedure Call&#xff0c;远程过程调用&#xff09;, 简单来说遵循RPC协议的就是RPC框架. …

基于小安派AiPi-Eye-S1的Nes游戏机

1.作品展示 作品功能可见以下B站视频 外壳可以使用灰太狼大佬提供的外壳STL文件。在嘉立创三维猴上打印&#xff08;外壳12元快递6元&#xff09;。 外壳从以下的帖子中获取&#xff1a; 模型分享 2.作品说明 2.1 硬件部分 硬件上使用到了AiPi-Eye-S1开发板以及3.5寸 240*3…

rust学习——智能指针

智能指针 在各个编程语言中&#xff0c;指针的概念几乎都是相同的&#xff1a;指针是一个包含了内存地址的变量&#xff0c;该内存地址引用或者指向了另外的数据。 在 Rust 中&#xff0c;最常见的指针类型是引用&#xff0c;引用通过 & 符号表示。不同于其它语言&#xf…

【Redis】Docker部署Redis数据库

Docker部署Redis数据库 1. Redis介绍2. CentOS 7 安装 & Docker 配置3. 拉取Redis 镜像、创建容器3.1 配置Docker镜像源3.2 拉取Redis 镜像3.3 容器创建 1. Redis介绍 Redis&#xff08;Remote Dictionary Server )&#xff0c;即远程字典服务&#xff0c;是一个开源的使用…

新一代AI技术,引领医疗智能革新共筑未来医疗生态

加快推进数字化转型&#xff0c;是我国抢抓新一轮科技革命和产业变革机遇的必然选择&#xff0c;数字化转型已不是“选择题”&#xff0c;而是关乎生存和长远发展的“必修课”。在此目标下&#xff0c;公共服务领域迎来深刻变革&#xff0c;医院也不例外&#xff0c;数字经济的…

力扣每日一题73:矩阵置零

题目描述&#xff1a; 给定一个 m x n 的矩阵&#xff0c;如果一个元素为 0 &#xff0c;则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。 示例 1&#xff1a; 输入&#xff1a;matrix [[1,1,1],[1,0,1],[1,1,1]] 输出&#xff1a;[[1,0,1],[0,0,0],[1,0,1]]示例 2…

MySQL 5.7限制general_log日志大小

背景 需求&#xff1a; 在MySQL 5.7.41中开启general_log 并限制其大小&#xff0c;避免快速增长占用硬盘空间。 解决&#xff1a; 通过定时任务&#xff0c;执行简单的脚本&#xff0c;判断general_log 日志的大小&#xff0c;实现对通用查询日志的“每日备份”或“每日清…

基于群居蜘蛛算法的无人机航迹规划

基于群居蜘蛛算法的无人机航迹规划 文章目录 基于群居蜘蛛算法的无人机航迹规划1.群居蜘蛛搜索算法2.无人机飞行环境建模3.无人机航迹规划建模4.实验结果4.1地图创建4.2 航迹规划 5.参考文献6.Matlab代码 摘要&#xff1a;本文主要介绍利用群居蜘蛛算法来优化无人机航迹规划。 …

如何使用 Docker 搭建 Jenkins 环境?从安装到精通

不少兄弟搭 jenkins 环境有问题&#xff0c;有的同学用 window, 有的同学用 mac&#xff0c; 有的同学用 linux。 还有的同学公司用 window, 家里用 mac&#xff0c;搭个环境头发掉了一地。。。 这回我们用 docker 去搭建 jenkins 环境&#xff0c;不管你是用的是什么系统&…

一文5000字从0到1使用Jmeter实现轻量级的接口自动化测试(图文并茂)

接口测试虽然作为版本的一环&#xff0c;但是也是有一套完整的体系&#xff0c;有接口的功能测试、性能测试、安全测试&#xff1b;同时&#xff0c;由于接口的特性&#xff0c;接口的自动化低成本高收益的&#xff0c;使用一些开源工具或一些轻量级的方法&#xff0c;在测试用…

【PointNet—论文笔记分享】

第一个直接基于原始点云数据进行分割、分类的模型&#xff0c;之前都是基于多视图或者体素的方式。 论文: PointNet: Deep Learning on Point Sets for 3D Classification and Segmentation代码: TensorFlow版 Pytorch版 基本模型架构&#xff1a; 分别对每个点进行特征提取…

SpringBoot集成Redis Cluster集群(附带Linux部署Redis Cluster高可用集群)

目录 一、前言二、集成配置2.1、POM2.2、添加配置文件application.yml2.3、编写配置文件2.4、编写启动类2.5、编写测试类测试是否连接成功 一、前言 这里会使用到spring-boot-starter-data-redis包&#xff0c;spring boot 2的spring-boot-starter-data-redis中&#xff0c;默…

适用于物联网的UI设计工具都有哪些?

随着科学技术的飞速发展&#xff0c;“万物相连的互联网”时代逐渐成为现实。如今&#xff0c;物联网已经不是什么新词了。事实上&#xff0c;早在各种屏幕设备诞生之前&#xff0c;人们就与物理世界交织在一起&#xff0c;产生了无数的互动。如何将人们多年积累的互动经验与物…

windows下OOM排查

如下有一段代码 package com.lm.demo.arthas.controller;import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController;import java.util.A…

PHP危险函数

PHP危险函数 文章目录 PHP危险函数PHP 代码执行函数eval 语句assert()语句preg_replace()函数正则表达式里修饰符 回调函数call_user_func()函数array_map()函数 OS命令执行函数system()函数exec()函数shell_exec()函数passthru() 函数popen 函数反引号 实列 通过构造函数可以执…

负载均衡的综合部署练习(hproxy+keepalived和lvs-DR+keepalived+nginx+Tomcat)

一、haproxykeepalived haproxy 2台 20.0.0.21 20.0.0.22 nginx 2台 20.0.0.23 20.0.0.24 客户机 1台 20.0.0.30 这里没有haproxy不是集群的概念&#xff0c;他只是代理服务器。 访问他直接可以直接访问后端服务器 关闭防火墙 安装haproxy和环境&#xff1a; yum in…

【Spring】快速入门Spring Web MVC

文章目录 1. 什么是Spring Web MVC1.1 MVC1.2 Spring MVC 2. 使用Spring MVC2.1 项目创建2.2 建立连接2.2.1 RequestMapping 注解2.2.2 RestController 注解2.2.3 RequestMapping 使⽤2.2.4 RequestMapping 是什么请求&#xff1f;POST&#xff1f;GET&#xff1f;…&#xff1…

Android原生项目集成uniMPSDK(Uniapp)遇到的报错总结

uni小程s序SDK 集成到Android原生项目:老项目中用到的库较多&#xff0c;会出现几种冲突问题&#xff0c;总结如下&#xff1a; 报错1&#xff1a; Execution failed for task :app:processDebugManifest. > Manifest merger failed with multiple errors, see logs Andro…