PostgreSQL 基础知识

news/2024/7/9 23:11:14 标签: 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.niftyadmin.cn/n/5131609.html

相关文章

“华为杯”研究生数学建模竞赛2015年-【华为杯】B题:数据的多流形结构分析(续)(附python代码实现))

目录 6.3 问题三求解 6.3.1 题 a 求解 6.3.2 题 b 求解 6.3.3 题 c 求解 6.4 问题四求解 6.4.1 图

nodejs+vue+elementui+express酒店管理系统

登录&#xff1a;运行系统后&#xff0c;进行登录&#xff0c;可使用本系统。 客房预定&#xff1a;此界面先通过条件查询客房信息&#xff0c;然后进行客房预定。对预定的客房还可以取消和支付操作。 信息查询&#xff1a;可查询所有的公告信息&#xff0c;点击公告名称&#…

python opencv之图像分割、计算面积

以下代码是一个基于K-means聚类算法进行图像分割的实现。通过读取一个彩色图像&#xff0c;将其转化为二维数组形式。然后使用K-means算法对像素点进行聚类&#xff0c;聚类个数为7。根据聚类后的标签值对像素点进行着色&#xff0c;并创建掩膜图像。接着使用形态学开运算和闭运…

Java 入门指南:使用 Docker 创建容器化 Spring Boot 应用程序

文章目录 步骤 1: 准备工作步骤 2: 克隆 Spring Boot 应用程序步骤 3: 创建 Dockerfile步骤 4: 构建 Docker 映像步骤 5: 运行容器步骤 6: 链接到本地数据库步骤 7: 使用 Docker Compose 运行多个容器步骤 8: 设置 CI/CD 管道结论 &#x1f388;个人主页&#xff1a;程序员 小侯…

Ajax学习笔记第二天

喜欢的东西太贵了&#xff0c;我一咬牙&#xff0c;狠下心决定不喜欢了&#xff01; 【一.GET请求】 【1.1 URL即信息】 我们知道php的相关运算都是在服务器端进行的&#xff0c;此时我们要考虑一个问题&#xff0c;如何将要计算的数字带给服务器&#xff1f;我们可以通过UR…

Selenium自动测试框架

selenium3 selenium元素的定位css 选择器Xpath 操作测试对象 API添加等待浏览器的操作键盘操作鼠标操作定位一组元素下拉框弹窗上传文件 <dependencies><!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java --><dependency><…

电脑有自带的录屏功能吗win7

win7有自带的录屏软件&#xff0c;名字叫“问题步骤记录器”&#xff0c;可以实现将每一步操作截成图片&#xff0c;并自动配以相关文字说明的功能。打开记录器的方法&#xff1a;1、按“WinR”键&#xff0c;打开“运行”窗口&#xff1b;2、在“运行”窗口中&#xff0c;输入…

vue项目package.json与package-lock.json作用及区别

package.json文件介绍和使用 运行项目&#xff0c;命令行: npm run dev “dependencies” 运行依赖&#xff0c;需引入页面使用 “devDependencies” 开发依赖(生产环境使用)&#xff0c;只是开发阶段需要 我们每次新建一个项目的时候会发现在项目中会有这么俩个相似的文件&am…