继Golang学习系列第三天https://www.cnblogs.com/dongguangming/p/13311198.html:数组、切片、Map、结构体、指针、函数、接口类型、channel通道,今天开始学习golang操作数据库,以PostgreSQL为例。
0. 安装PostgreSQL 数据库
可以参考PostgreSQL官网https://www.postgresql.org/download/linux/redhat/安装该数据库
特别需要说明的是,安装完成后,自动建立了一个名为postgres的用户,默认密码为空;同时也自动创建了一个名字叫postgres的数据库。
0.1、修改默认生成的数据库用户postgres的密码。
把密码设置为12345678.
0.2 创建示例数据库
测试数据库名可以自取,
然后建一张测试表让golang使用
0.3 开启远程访问
由于数据库和应用程序不在同一机器上,故数据库要开启远程访问功能
修改配置文件,即
找到listen_adderess配置项设为*
继续修改另一配置文件,即
在# IPv4 local connections:处追加客户端的连接信息
重启postgresql服务
最后客户端测试连接
1. golang操作数据库
连接数据库会使用第三方驱动包,由于墙的缘故,可以先设置一下代理
就以基本的增删改查数据,记录如何使用go操作数据库
1. 1 Select查询数据
新建postgres.go项目,键入以下测试连接数据库的代码
然后创建一个模块依赖文件
安装具体的依赖包
最后运行测试代码
从数据库查询id等于1的记录,如图
和数据库里的数据是对应的
1.2 增加数据
接上1.1示例代码,稍作更改即可,文件命名为postgres-create.go
执行程序代码,输出结果
1.3 update修改数据
接上1.2示例代码,稍作更改即可,文件命名为postgres-update.go
执行程序代码,输出结果
1.4 delete删除数据记录
接上1.3示例代码,稍作更改即可,文件命名为postgres-delete.go
执行以上程序代码,执行输出结果
至此到这里关于golang操作数据库postgresql就告一段落了,收工。
代码已上传到github:https://github.com/dongguangming/golang-learn/tree/master/go-postgresql
注:由于我没有用可视化编程工具,是用vi编写的go代码,请你们自行排版其结构。
参考:
-
Postgresql 密码设置 http://www.mamicode.com/info-detail-1977540.html
-
golang连接postgresql数据库 https://msd.misuland.com/pd/3181438578597038522
-
cannot find module providing package github.com/xxx: working directory is not part of a module https://www.sunzhongwei.com/cannot-find-module-providing-package-githubcomxxx-working-directory-is-not-part-of-a-module
-
SSL is not enabled on the server https://stackoverflow.com/questions/21959148/ssl-is-not-enabled-on-the-server
-
Resolve "FATAL:no pg_hba.conf entry for host" Error when you Connect from PGAdmin4 https://www.cisco.com/c/en/us/support/docs/cloud-systems-management/cloudcenter/212585-resolve-fatal-no-pg-hba-conf-entry-for.html
-
Connect to PostgreSQL and Run a Query https://golangcode.com/postgresql-connect-and-query/
-
golang postgresql CRUD https://www.cnblogs.com/ibgo/p/6010245.html