As The Titile
本文是我学习 Go 语言的学习笔记之一.
PostgreSQL 下载:
https://www.enterprisedb.com/downloads/postgres-postgresql-downloads
太慢了…
改使用 MySQL 数据库了
连接数据库
下载 MySQL Go 语言的驱动.
参考地址: https://github.com/go-sql-driver/mysql
$ go get -u github.com/go-sql-driver/mysql
用法
Go MySQL 驱动是 database/sql/driver
接口的实现, 使用时只需导入驱动和 database/sql
API 即可.
例如: 使用 mysql
作为 driverName
, 一个 DSN 作为 dataSourceName
如下:
import "database/sql"
import _ "github.com/go-sql-driver/mysql"
db, err := sql.Open("mysql", "user:password@tcp(ip:port)/dbname")
DSN(Data Source Name)
[username[:password]@][protocol[(address)]]/dbname[?param1=value1&...¶mN=valueN]
连接数据库
程序在对数据库执行任何操作之前,都需要先与数据库建立连接。
sql.DB 结构是一个数据库句柄(handle),它代表的是一个包含了0 个或者 多个数据库连接的连接池(pool),这个连接池由 sql 包管理。程序可以通过调用 Open 函数,并将响应的数据库驱动名字(driver name)和数据源名称 (data source name)传递给它来建立与数据库的连接。
需要注意的是,Open 函数在执行的时候,并不会真正地与数据库践行连接,它甚至都不会检查用户给定的参数,Open 函数的真正作用是设置好连接数据库所需要的各个结构,并以惰性的方式,等到真正需要时才建立响应的数据库连接。
此外,因为 sql.DB 只是一个句柄并不是实际的连接,而这个句柄代表的是一个会自动对连接进行管理的连接池,所以尽管用户可以手动关闭 sql.DB,但是在实际中通常并不需要这样做。
例如:
var DB *sql.DB
func init() {
var err error
DB, err = sql.Open("mysql", dsn);
if err != nil {
panic(err)
}
}
SQL 关系映射器
$ go get "github.com/jmoiron/sqlx"
« EOF »
If you like TeXt, don’t forget to give me a star .