Go语言操作PostgreSQL数据库——学习笔记
来源:互联网 发布:c语言中flag 编辑:程序博客网 时间:2024/05/18 02:39
Go实现的支持PostgreSQL的驱动有很多,但是github.com/lib/pq是目前使用最广泛的,也是最稳定的一个Go语言实现的PostgreSQL驱动。这里,我就使用github.com/lib/pq(以下简称pq)来进行演示。
首先需要创建一个数据库表,语句如下:
CREATE TABLE public."user"( id serial NOT NULL, name character(100) COLLATE pg_catalog."default" NOT NULL, age integer NOT NULL, CONSTRAINT user_pkey PRIMARY KEY (id))WITH ( OIDS = FALSE)TABLESPACE pg_default;ALTER TABLE public."user" OWNER to postgres;
下面演示下简单的增删改查。代码如下:
package mainimport ("fmt""database/sql"_ "github.com/lib/pq")func checkErr(err error) {if err!=nil{fmt.Println(err)}}func main() {//插入数据db,err:=sql.Open("postgres","host=127.0.0.1 port=5432 user=postgres password=1234567 sslmode=disable")checkErr(err)stmt,err:=db.Prepare("INSERT INTO PUBLIC.user(name,age) VALUES ($1,$2) RETURNING id")checkErr(err)res,err:=stmt.Exec("jack",23)//受影响行数id,err:=res.RowsAffected()checkErr(err)fmt.Println(id)//修改数据stmt,err=db.Prepare("UPDATE PUBLIC.user set name=$1 where id=$2")checkErr(err)res,err =stmt.Exec("hellen",1)checkErr(err)affect,err:=res.RowsAffected()checkErr(err)fmt.Println(affect)//查询数据rows,err:=db.Query("SELECT * FROM PUBLIC.user")checkErr(err)for rows.Next(){var id intvar name stringvar age interr=rows.Scan(&id,&name,&age)checkErr(err)fmt.Printf("%d %s %d\n",id,name,age)}//删除数据stmt,err=db.Prepare("DELETE FROM PUBLIC.user where id=$1")checkErr(err)res,err=stmt.Exec(10)res,err=stmt.Exec(11)res,err=stmt.Exec(12)checkErr(err)affect,err=res.RowsAffected()fmt.Println(affect)db.Close()}
阅读全文
0 0
- Go语言操作PostgreSQL数据库——学习笔记
- Go语言使用PostgreSQL数据库
- 三、go语言操作 mongodb mgo --go语言学习笔记
- Go实战--go语言操作PostgreSQL数据库(github.com/lib/pq)
- Go实战--go语言操作PostgreSQL数据库(github.com/lib/pq)
- Python 学习笔记三 操作PostgreSQL数据库
- postgresql 数据库操作笔记
- 18.笔记go语言——访问数据库
- 21.笔记go语言——SQLite数据库使用
- 23.笔记go语言——MongDB数据库使用
- 25.笔记go语言——PostgrelSQL数据库使用
- Go语言学习笔记
- Go语言学习笔记
- go语言学习笔记
- Go语言学习笔记
- GO语言学习笔记
- Go语言学习笔记
- GO语言学习笔记
- Linear Kernel: Why is it recommended for text classification ?
- Java线程池的分析和使用
- windows下python3.6连接mysql数据库
- Ubantu+Opencv +QT 心累的一周
- JSON.parse() Unexpected token i in JSON at position 2 报错问题
- Go语言操作PostgreSQL数据库——学习笔记
- function返回多个值
- JAVA程序调用Matlab神经网络工具编译的jar包注意问题
- 信用,你最大的财富!——刘强东打出最强王牌!
- 浅谈spring IOC容器中装配bean
- 系统性能基础知识
- 如何在Android Studio中使用Kotlin开发app
- Cesium学习笔记(五)几何和外观
- QBC查询