当前位置: 首页 > news >正文

【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&#xff1a; gutter: Upload failed: The gutter between columns is 0.2 inches wide (on page 1), but should be at least 0.2 inches 解决&#xff1a; 在\begin{document}前添加\columnsep 0.201 in&#xff08;0.2in也会报错&#xff0c;建议填大一点点&#xff09…...

t-learning 产品经理课程笔记

t-learning 腾讯公开课——产品经理课程 第一课 化身用户研究员&#xff0c;张小龙《产品精讲》 1-3&#xff1a;执行 4-7&#xff1a;中坚力量 7&#xff1a;核心leader 能解决问题的&#xff0c;就是好的产品经理 如何储备产品知识与素养 &#xff08;1&#xff09;了解并…...

校招,从准备开始准备(持续更新ing...)

诸神缄默不语-个人CSDN博文目录 作者现在有科研任务在身&#xff08;今天还在标数据哦&#xff09;&#xff0c;所以不能实习。 所以就是纯纯拉个表。 最近更新时间&#xff1a;2023.4.9 最早更新时间&#xff1a;2023.4.6 文章目录1. 学习资料和知识点清单1.1 机器学习1.2 深…...

Android:使用LayerDrawable动态生成四宫格头像(包含双人、三人头像)

其实用自定义View也可以实现&#xff0c;我比较懒&#xff0c;就用LayerDrawable来创建一个新的Drawable资源实现。 举例4宫格&#xff0c;9宫格原理类似&#xff0c;每个图标的位置需要用边距慢慢调成预期的效果 效果如下&#xff1a; 双人头像&#xff1a; 三人头像&#x…...

Android Jetpack 从使用到源码深耕【数据库注解Room 从实践到原理 】(三)

前面两篇文章,我们一起学习了,Room引入的背景、Room的使用方式、Room的实现原理猜想验证、Room的源码原理探索总结。 本文,我们将其中牵扯到的课外知识点 or 过程中没有说到的知识点,进行一下单独的总结。 题外话:扩展知识点总结 1. 抽象工厂的设计模式应用 在源码探索…...

中国电子学会2023年03月份青少年软件编程Scratch图形化等级考试试卷三级真题(含答案)

2023-03 Scratch三级真题 分数&#xff1a;100 题数&#xff1a;38 测试时长&#xff1a;60min 一、单选题(共25题&#xff0c;共50分) 1.计算“248……128”&#xff0c;用变量n表示每项&#xff0c;根据变化规律&#xff0c;变量n的赋值用下列哪个最合适&#xff1f;&am…...

分布式事务培训

MQ发生成功 MQ响应失败 断网 DIY seary 不保证隔离性&#xff0c;扣账不成功&#xff0c;钱被花了。导致回滚不成功 超时处理。 超时处理机制 防悬挂&#xff0c; try 的 try catch 导致不报错。空提交 处理链&#xff0c;inputlog万一数据库出现问题。outlog 最终保证回滚。映…...

关键词采集工具可以帮助我们做那些方面的工作

针对搜索引擎的关键词采集工具可以帮助我们做那些方面的工作&#xff0c;至少从10个工作场景说明&#xff0c;并列举详细的使用场景 Msray-plus&#xff0c;是一款企业级综合性爬虫/采集软件。 支持亿级数据存储、导入、重复判断等。无需使用复杂的命令&#xff0c;提供本地W…...

2023年5月PMP难考吗?

PMP考试难不难&#xff0c;还是因人而异的&#xff0c;对小白而言&#xff0c;肯定是难的&#xff0c;对项目管理老人而言&#xff0c;难度肯定是没那么高。 难点主要是非常多而难理解的知识点&#xff0c;以及答题时的知识点提取。经过系统的学习&#xff0c;分解知识点&…...

定语从句的省略

1. 关系代词的省略&#xff08;即that which之类的&#xff09; 条件&#xff1a;首先限制定语从句&#xff08;即没有逗号的&#xff09; 先行词在从句中作宾语成分 两个条件缺一不可&#xff0c;先行词中作主语成分是不可以的。&#xff08;这就是形容词短语作定语后置和定…...

简易小工具实现批量打开多个网页

最近有个需求&#xff0c;希望一次性可以打开多个网页&#xff0c;网址自由指定&#xff0c;这个需求的实现非常简单&#xff0c;使用基本的c代码调用system函数即可&#xff0c;都不需要MFC相关的东西。 但是我实测一些工具后发现一个问题&#xff0c;当打开超过大约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路由不转换的原因及解决方法

随着互联网的发展&#xff0c;网站开发技术日新月异。而ThinkPHP作为一款流行的PHP开发框架之一&#xff0c;也在不断地吸纳更多的开发者来使用。然而&#xff0c;有时候我们在使用过程中会遇到一些问题&#xff0c;比如ThinkPHP路由不转换的问题。本文将详细介绍这个问题以及解…...

【案例教程】基于RWEQ模型的土壤风蚀模数估算及其变化归因分析实践技术

土壤风蚀是一个全球性的环境问题。中国是世界上受土壤风蚀危害最严重的国家之一&#xff0c;土壤风蚀是中国干旱、半干旱及部分湿润地区土地荒漠化的首要过程。中国风蚀荒漠化面积达160.74104km2&#xff0c;占国土总面积的16.7%&#xff0c;严重影响这些地区的资源开发和社会经…...

Twitter推荐算法总架构和算法说明

Twitter推荐算法总架构&#xff1a; 这个推荐架构的作用是生成在用户首页上显示的推文列表 步骤&#xff1a; 1、从不同的推荐来源中获取最好的推文&#xff0c;这个过程被称为候选来源。 2、使用机器学习模型对每条推文进行排名。 3、应用启发式方法和过滤器&#xff0c;例如…...

LabVIEW以声卡为数据采集设备开发数据采集处理系统。 具备声卡参数设置,实现文件自动存储、...

LabVIEW以声卡为数据采集设备开发数据采集处理系统。 具备声卡参数设置&#xff0c;实现文件自动存储、以及文件手动存储两种功能&#xff0c;进行采集数据的分析&#xff0c;包括频域分析&#xff0c;滤波处理等功能&#xff1b; 程序实验报告在工业测量和实验室场景中&#x…...

AI和苹果夹逼,国产手机顶不住了,网传大规模人才优化已在进行中

某已没落的手机企业在转卖后&#xff0c;近期又传出重大消息&#xff0c;只是这次是相当悲惨的消息&#xff0c;手机硬件研发被砍掉&#xff0c;半数员工就地解散&#xff0c;揭开了手机行业人才优化的序幕&#xff0c;其实手机行业的这种操作早在去年底就已悄然进行&#xff0…...

大模型小白程序员必看:收藏这份AI智能体学习路径与构建思路

大模型小白程序员必看&#xff1a;收藏这份AI智能体学习路径与构建思路 本文系统梳理AI智能体的概念、发展脉络与核心架构&#xff0c;清晰拆解其与传统工作流的本质差异&#xff0c;聚焦智能体三大核心组件&#xff08;规划能力、记忆系统、工具使用机制&#xff09;的技术细节…...

如何从视频中智能提取PPT幻灯片:终极免费工具使用指南

如何从视频中智能提取PPT幻灯片&#xff1a;终极免费工具使用指南 【免费下载链接】extract-video-ppt extract the ppt in the video 项目地址: https://gitcode.com/gh_mirrors/ex/extract-video-ppt 在当今数字化教学和远程办公的时代&#xff0c;视频中常常包含重要…...

BGE-M3快速入门:多语言文本相似度分析从零到一

BGE-M3快速入门&#xff1a;多语言文本相似度分析从零到一 1. 引言&#xff1a;从“关键词匹配”到“语义理解” 你有没有遇到过这样的场景&#xff1f;在搜索引擎里输入“苹果”&#xff0c;结果既出现了水果&#xff0c;也出现了手机公司。或者&#xff0c;你想找“如何学习…...

Vulkan与OpenGL深度解析——现代图形渲染的技术演进

1. 从OpenGL到Vulkan&#xff1a;图形渲染的进化之路 还记得我第一次接触图形编程时&#xff0c;OpenGL就像一位和蔼的老教授&#xff0c;把复杂的GPU操作封装成简单的API调用。但随着项目复杂度提升&#xff0c;我逐渐发现这位"老教授"的教学方式有些过时——它隐藏…...

Web开发环境快速搭建:Miniconda-Python3.11镜像实战应用

Web开发环境快速搭建&#xff1a;Miniconda-Python3.11镜像实战应用 1. 为什么选择Miniconda-Python3.11 Python作为Web开发的主流语言之一&#xff0c;环境配置一直是新手面临的第一个挑战。Miniconda-Python3.11镜像提供了一种开箱即用的解决方案&#xff0c;相比传统安装方…...

保姆级教程:从零配置ROS2自定义消息包(含CMake/ament避坑指南)

从零构建ROS2自定义消息包的终极实践指南 在机器人开发领域&#xff0c;ROS2的消息系统是模块间通信的核心枢纽。当标准消息类型无法满足特定需求时&#xff0c;自定义消息包便成为开发者必须掌握的技能。本文将带您从零开始&#xff0c;逐步构建一个完整的ROS2自定义消息包&am…...

全格式文档智能处理:AnythingLLM的多模态知识管理解决方案

全格式文档智能处理&#xff1a;AnythingLLM的多模态知识管理解决方案 【免费下载链接】anything-llm 这是一个全栈应用程序&#xff0c;可以将任何文档、资源&#xff08;如网址链接、音频、视频&#xff09;或内容片段转换为上下文&#xff0c;以便任何大语言模型&#xff08…...

2026 工程指南:为什么 AWS Bedrock + Claude 4.6 正在成为多 Agent 协作的底层首选?

进入 2026 年第一季度&#xff0c;大模型领域的竞争已经从“单纯的参数规模”转向了“端到端的工程效率”。随着 GPT-5.4 陷入推理成本高企的泥潭&#xff0c;Anthropic 联手亚马逊发布的 Claude 4.6 托管方案&#xff0c;正在通过 Amazon Bedrock 平台迅速收割企业级市场。作为…...