生命不止 , 继续 Go go go !!!
之前关于golang操作数据库的博客:
Go实战–Go语言操作MySQL数据库(go-sql-driver/mysql)
Go实战–go语言操作sqlite数据库(The way to go)
Go实战–golang中使用MongoDB(mgo)
【go语言操作PostgreSQL数据库】Go实战–golang中使用redis(redigo和go-redis/redis)
今天跟大家分享golang中使用PostgreSQL数据库 。
文章插图
何为PostgreSQL官网
https://www.postgresql.org/
PostgreSQL is a powerful, open source object-relational database system.
PostgreSQL是一个功能强大的开源对象关系数据库管理系统(ORDBMS) 。用于安全地存储数据; 支持最佳做法 , 并允许在处理请求时检索它们 。
特点
- PostgreSQL可在所有主要操作系统(即linux , UNIX(AIX , BSD , HP-UX , SGI IRIX , mac OS X , Solaris , Tru64)和windows等)上运行
- PostgreSQL支持文本 , 图像 , 声音和视频 , 并包括用于C/C++ , JAVA , Perl , Python , Ruby , Tcl和开放数据库连接(ODBC)的编程接口
- PostgreSQL支持SQL的许多功能 , 例如复杂SQL查询 , SQL子选择 , 外键 , 触发器 , 视图 , 事务 , 多进程并发控制(MVCC) , 流式复制(9.0) , 热备(9.0))
- 在PostgreSQL中 , 表可以设置为从“父”表继承其特征
- 可以安装多个扩展以向PostgreSQL添加附加功能
知乎上有大神们的讨论 , 可以看一看:https://www.zhihu.com/question/20010554
Windows下安装PostgreSQL下载
https://www.postgresql.org/download/windows/
跳转到https://www.enterprisedb.com/downloads/postgres-postgresql-downloads#windows
根据自己的操作系统下载 , 例如我选择:
PostgreSQL 9.6.4
Windows x86-64
下载速度不是很快 , 稍安勿躁 。
安装
下一步 , 选择安装文件夹 , 选择数据所在位置 , 填写密码 , 端口号 , 选择运行时语言环境等 。
默默等待安装 。
使用pgAdmin打开pgAdmin , 要输入之前设置的密码
文章插图
创建数据库
在Databases(1)上右键 , Create, Database
文章插图
删除数据库
文章插图
创建表
文章插图
文章插图
插入数据
文章插图
文章插图
使用SQL Shell(psql)创建数据库
create database name;
文章插图
删除数据库
drop database name;
如果出现错误的话 , 请先断开其他对该数据库的连接 。文章插图
创建表
CREATE TABLE public.student(id integer,name character(1)[] COLLATE pg_catalog."default")WITH (OIDS = FALSE)TABLESPACE pg_default;ALTER TABLE public.studentOWNER to postgres;
插入数据INSERT INTO public.teacher(id, age)VALUES (2, 34);
查询SELECT * FROM public.teacher;
Go中使用PostgreSQLgithub.com/lib/pqPure Go Postgres driver for database/sql
连接
package mainimport ("database/sql""fmt"_ "github.com/lib/pq")const (host= "localhost"port= 5432user= "postgres"password = "your_password"dbname= "test")func main() {psqlInfo := fmt.Sprintf("host=%s port=%d user=%s "+"password=%s dbname=%s sslmode=disable",host, port, user, password, dbname)db, err := sql.Open("postgres", psqlInfo)if err != nil {panic(err)}defer db.Close()err = db.Ping()if err != nil {panic(err)}fmt.Println("Successfully connected!")}
推荐阅读
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 操作系统学习 让启动镜像支持Fat12文件格式
- 用哪种语言写的应用漏洞最严重?六大主流语言代码漏洞分析出炉
- 3 种使用 PostgreSQL 命令的方式
- Windows 10快速使用的几个技巧,让你的操作更快捷
- 盘点各编程语言的应用领域
- 使用Python+Fabric实现Linux自动化操作
- 高级语言中的语句在汇编中是如何实现的
- 真香!Python十大常用文件操作,轻松办公
- 电脑指纹怎么设置?按照以下步骤操作,轻松设置指纹锁
- MySQL的 join 操作弱爆了?