【PostgreSQL】通过docker的方式运行部署PostgreSQL与go操作数据库
目录
1、docker的方式运行部署PostgreSQL
2、控制台命令
3、go操作增删改查
1、docker的方式运行部署PostgreSQL
docker pull postgres
docker run --name learn_postgres -e POSTGRES_PASSWORD=docker_user -e POSTGRES_USER=docker_user -p 5433:5432 -d postgres

进入容器:
docker exec -it a1adf294c991 bash

进入数据库:
docker exec -ti a1adf294c991 psql -U docker_user

CREATE TABLE user(name VARCHAR(20), create_date DATE);
2、控制台命令
\h:查看SQL命令的解释,比如\h select。
\?:查看psql命令列表。
\l:列出所有数据库。
\c [database_name]:连接其他数据库。
\d:列出当前数据库的所有表格。
\d [table_name]:列出某一张表格的结构。
\du:列出所有用户。
\e:打开文本编辑器。
\conninfo:列出当前数据库和连接的信息。
# 创建新表
CREATE TABLE user(name VARCHAR(20), create_date DATE);# 插入数据
INSERT INTO user(name, create_date ) VALUES('张三', '2922-07-27');# 选择记录
SELECT * FROM user;# 更新数据
UPDATE userset name = '李四' WHERE name = '张三';# 删除记录
DELETE FROM user WHERE name = '李四' ;# 添加栏位
ALTER TABLE user ADD email VARCHAR(40);# 更新结构
ALTER TABLE user ALTER COLUMN create_date SET NOT NULL;# 更名栏位
ALTER TABLE user RENAME COLUMN create_date TO update_time;# 删除栏位
ALTER TABLE user DROP COLUMN email;# 表格更名
ALTER TABLE user RENAME TO user_rename;# 删除表
DROP TABLE IF EXISTS user_rename;
3、go操作增删改查
package mainimport ("database/sql""fmt"_ "github.com/lib/pq"
)var db *sql.DBfunc main() {var err error//参数根据自己的数据库进行修改db, err = sql.Open("postgres", "host=localhost port=5432 user=docker_user password=docker_user dbname=docker_user sslmode=disable")defer db.Close()checkErr(err)// insert("宋", "2022-08-01")//query()//delete()revise()}// 核对错误
func checkErr(err error) {if err != nil {fmt.Println(err)}
}// 插入数据
func insert(arg1 string, arg2 string) {//插入数据stmt, err := db.Prepare("INSERT INTO test(name, create_date ) VALUES($1, $2)")checkErr(err)res, err := stmt.Exec(arg1, arg2)checkErr(err)id, err := res.RowsAffected()checkErr(err)fmt.Println(id)
}// 查询接口
func query() {rows, err := db.Query("SELECT * FROM PUBLIC.test")checkErr(err)for rows.Next() {var name stringvar create_date stringerr = rows.Scan(&name, &create_date)checkErr(err)fmt.Printf("%s %s\n", name, create_date)}}// 删除数据
func delete() {//删除数据stmt, err := db.Prepare("DELETE FROM PUBLIC.test where name=$1")checkErr(err)res, err := stmt.Exec("宋")checkErr(err)affect, err := res.RowsAffected()fmt.Println(affect)
}// 修改数据
func revise() {stmt, err := db.Prepare("UPDATE PUBLIC.test set name=$1 where create_date=$2")checkErr(err)res, err := stmt.Exec("张", "2922-07-27")checkErr(err)affect, err := res.RowsAffected()checkErr(err)fmt.Println(affect)
}

相关文章:
【PostgreSQL】通过docker的方式运行部署PostgreSQL与go操作数据库
目录 1、docker的方式运行部署PostgreSQL 2、控制台命令 3、go操作增删改查 1、docker的方式运行部署PostgreSQL docker pull postgres docker run --name learn_postgres -e POSTGRES_PASSWORDdocker_user -e POSTGRES_USERdocker_user -p 5433:5432 -d postgres进入容器&am…...
Kotlin协程序列:
1: 使用方式一 ,callback和coroutine相互转化。 import kotlinx.coroutines.* import java.lang.Exception class MyCallback {fun doSomething(callback: (String?, Exception?) -> Unit) {// 模拟异步操作GlobalScope.launch {try {delay(1000) // 延迟 1 秒…...
java获取视频时长
1、先导包 <dependency><groupId>ws.schild</groupId><artifactId>jave-all-deps</artifactId><version>2.6.0</version> </dependency>2、获取时长 Testpublic void test01() {long time 0;try {String url "http://…...
EDAS投稿系统的遇到的问题及解决办法
问题1: gutter: Upload failed: The gutter between columns is 0.2 inches wide (on page 1), but should be at least 0.2 inches 解决: 在\begin{document}前添加\columnsep 0.201 in(0.2in也会报错,建议填大一点点)…...
t-learning 产品经理课程笔记
t-learning 腾讯公开课——产品经理课程 第一课 化身用户研究员,张小龙《产品精讲》 1-3:执行 4-7:中坚力量 7:核心leader 能解决问题的,就是好的产品经理 如何储备产品知识与素养 (1)了解并…...
校招,从准备开始准备(持续更新ing...)
诸神缄默不语-个人CSDN博文目录 作者现在有科研任务在身(今天还在标数据哦),所以不能实习。 所以就是纯纯拉个表。 最近更新时间:2023.4.9 最早更新时间:2023.4.6 文章目录1. 学习资料和知识点清单1.1 机器学习1.2 深…...
Android:使用LayerDrawable动态生成四宫格头像(包含双人、三人头像)
其实用自定义View也可以实现,我比较懒,就用LayerDrawable来创建一个新的Drawable资源实现。 举例4宫格,9宫格原理类似,每个图标的位置需要用边距慢慢调成预期的效果 效果如下: 双人头像: 三人头像&#x…...
Android Jetpack 从使用到源码深耕【数据库注解Room 从实践到原理 】(三)
前面两篇文章,我们一起学习了,Room引入的背景、Room的使用方式、Room的实现原理猜想验证、Room的源码原理探索总结。 本文,我们将其中牵扯到的课外知识点 or 过程中没有说到的知识点,进行一下单独的总结。 题外话:扩展知识点总结 1. 抽象工厂的设计模式应用 在源码探索…...
中国电子学会2023年03月份青少年软件编程Scratch图形化等级考试试卷三级真题(含答案)
2023-03 Scratch三级真题 分数:100 题数:38 测试时长:60min 一、单选题(共25题,共50分) 1.计算“248……128”,用变量n表示每项,根据变化规律,变量n的赋值用下列哪个最合适?&am…...
分布式事务培训
MQ发生成功 MQ响应失败 断网 DIY seary 不保证隔离性,扣账不成功,钱被花了。导致回滚不成功 超时处理。 超时处理机制 防悬挂, try 的 try catch 导致不报错。空提交 处理链,inputlog万一数据库出现问题。outlog 最终保证回滚。映…...
关键词采集工具可以帮助我们做那些方面的工作
针对搜索引擎的关键词采集工具可以帮助我们做那些方面的工作,至少从10个工作场景说明,并列举详细的使用场景 Msray-plus,是一款企业级综合性爬虫/采集软件。 支持亿级数据存储、导入、重复判断等。无需使用复杂的命令,提供本地W…...
2023年5月PMP难考吗?
PMP考试难不难,还是因人而异的,对小白而言,肯定是难的,对项目管理老人而言,难度肯定是没那么高。 难点主要是非常多而难理解的知识点,以及答题时的知识点提取。经过系统的学习,分解知识点&…...
定语从句的省略
1. 关系代词的省略(即that which之类的) 条件:首先限制定语从句(即没有逗号的) 先行词在从句中作宾语成分 两个条件缺一不可,先行词中作主语成分是不可以的。(这就是形容词短语作定语后置和定…...
简易小工具实现批量打开多个网页
最近有个需求,希望一次性可以打开多个网页,网址自由指定,这个需求的实现非常简单,使用基本的c代码调用system函数即可,都不需要MFC相关的东西。 但是我实测一些工具后发现一个问题,当打开超过大约3个网址的…...
swiper 点击事件
点击swiper 获取当前下标 两种模式 "swiper": "^5.4.5", "vue-awesome-swiper": "^3.1.3",swiperOption: {autoplay: { delay: 3000 },loop: true, //循环slidesPerView: auto,direction: "vertical",disableOnInteraction:…...
旅游心得Traveling Experience
前言 加油 原文 旅游心得常用会话 ❶ Share photos of the trip with friends. 与朋友分享旅游的照片。 ❷ We’ll go to the Great Wall, if you prefer. 你如果愿意的话,我们去长城。 ❸ Would you go to the church or the synagogue or the mosque? 你会去教堂,犹太…...
【 SpringBoot ⽇志⽂件 】
文章目录一、⽇志的作用二、认识⽇志三、⾃定义⽇志打印3.1 在程序中得到⽇志对象3.2 使⽤⽇志对象打印⽇志3.3 ⽇志格式说明四、⽇志级别4.1 ⽇志级别的作用4.2 ⽇志级别的分类与使⽤4.2.1 ⽇志级别的分类4.2.2 ⽇志使⽤4.2.2.1 配置全局日志级别4.2.2.2 配置局部文件夹的日志…...
ThinkPHP路由不转换的原因及解决方法
随着互联网的发展,网站开发技术日新月异。而ThinkPHP作为一款流行的PHP开发框架之一,也在不断地吸纳更多的开发者来使用。然而,有时候我们在使用过程中会遇到一些问题,比如ThinkPHP路由不转换的问题。本文将详细介绍这个问题以及解…...
【案例教程】基于RWEQ模型的土壤风蚀模数估算及其变化归因分析实践技术
土壤风蚀是一个全球性的环境问题。中国是世界上受土壤风蚀危害最严重的国家之一,土壤风蚀是中国干旱、半干旱及部分湿润地区土地荒漠化的首要过程。中国风蚀荒漠化面积达160.74104km2,占国土总面积的16.7%,严重影响这些地区的资源开发和社会经…...
Twitter推荐算法总架构和算法说明
Twitter推荐算法总架构: 这个推荐架构的作用是生成在用户首页上显示的推文列表 步骤: 1、从不同的推荐来源中获取最好的推文,这个过程被称为候选来源。 2、使用机器学习模型对每条推文进行排名。 3、应用启发式方法和过滤器,例如…...
conda相比python好处
Conda 作为 Python 的环境和包管理工具,相比原生 Python 生态(如 pip 虚拟环境)有许多独特优势,尤其在多项目管理、依赖处理和跨平台兼容性等方面表现更优。以下是 Conda 的核心好处: 一、一站式环境管理:…...
调用支付宝接口响应40004 SYSTEM_ERROR问题排查
在对接支付宝API的时候,遇到了一些问题,记录一下排查过程。 Body:{"datadigital_fincloud_generalsaas_face_certify_initialize_response":{"msg":"Business Failed","code":"40004","sub_msg…...
STM32标准库-DMA直接存储器存取
文章目录 一、DMA1.1简介1.2存储器映像1.3DMA框图1.4DMA基本结构1.5DMA请求1.6数据宽度与对齐1.7数据转运DMA1.8ADC扫描模式DMA 二、数据转运DMA2.1接线图2.2代码2.3相关API 一、DMA 1.1简介 DMA(Direct Memory Access)直接存储器存取 DMA可以提供外设…...
DeepSeek 技术赋能无人农场协同作业:用 AI 重构农田管理 “神经网”
目录 一、引言二、DeepSeek 技术大揭秘2.1 核心架构解析2.2 关键技术剖析 三、智能农业无人农场协同作业现状3.1 发展现状概述3.2 协同作业模式介绍 四、DeepSeek 的 “农场奇妙游”4.1 数据处理与分析4.2 作物生长监测与预测4.3 病虫害防治4.4 农机协同作业调度 五、实际案例大…...
人机融合智能 | “人智交互”跨学科新领域
本文系统地提出基于“以人为中心AI(HCAI)”理念的人-人工智能交互(人智交互)这一跨学科新领域及框架,定义人智交互领域的理念、基本理论和关键问题、方法、开发流程和参与团队等,阐述提出人智交互新领域的意义。然后,提出人智交互研究的三种新范式取向以及它们的意义。最后,总结…...
人工智能(大型语言模型 LLMs)对不同学科的影响以及由此产生的新学习方式
今天是关于AI如何在教学中增强学生的学习体验,我把重要信息标红了。人文学科的价值被低估了 ⬇️ 转型与必要性 人工智能正在深刻地改变教育,这并非炒作,而是已经发生的巨大变革。教育机构和教育者不能忽视它,试图简单地禁止学生使…...
NPOI Excel用OLE对象的形式插入文件附件以及插入图片
static void Main(string[] args) {XlsWithObjData();Console.WriteLine("输出完成"); }static void XlsWithObjData() {// 创建工作簿和单元格,只有HSSFWorkbook,XSSFWorkbook不可以HSSFWorkbook workbook new HSSFWorkbook();HSSFSheet sheet (HSSFSheet)workboo…...
华为OD机试-最短木板长度-二分法(A卷,100分)
此题是一个最大化最小值的典型例题, 因为搜索范围是有界的,上界最大木板长度补充的全部木料长度,下界最小木板长度; 即left0,right10^6; 我们可以设置一个候选值x(mid),将木板的长度全部都补充到x,如果成功…...
DAY 26 函数专题1
函数定义与参数知识点回顾:1. 函数的定义2. 变量作用域:局部变量和全局变量3. 函数的参数类型:位置参数、默认参数、不定参数4. 传递参数的手段:关键词参数5 题目1:计算圆的面积 任务: 编写一…...
pgsql:还原数据库后出现重复序列导致“more than one owned sequence found“报错问题的解决
问题: pgsql数据库通过备份数据库文件进行还原时,如果表中有自增序列,还原后可能会出现重复的序列,此时若向表中插入新行时会出现“more than one owned sequence found”的报错提示。 点击菜单“其它”-》“序列”,…...
