在CentOS系统中,使用Golang连接数据库通常需要遵循以下步骤:
go-sql-driver/mysql
。可以使用以下命令安装:go get -u github.com/go-sql-driver/mysql
对于其他数据库,如PostgreSQL、MongoDB等,你需要安装相应的驱动。
import (
"database/sql"
_ "github.com/go-sql-driver/mysql"
)
注意,这里的_
表示我们只是导入驱动,而不是直接使用它。这是因为go-sql-driver/mysql
包在初始化时会自动注册自己。
func getDBConnection() (*sql.DB, error) {
dsn := "username:password@tcp(localhost:3306)/dbname?charset=utf8mb4&parseTime=True&loc=Local"
db, err := sql.Open("mysql", dsn)
if err != nil {
return nil, err
}
return db, nil
}
请根据实际情况替换username
、password
、localhost
、3306
和dbname
。
getDBConnection()
函数获取数据库连接,并执行相应的数据库操作。例如,查询数据:func main() {
db, err := getDBConnection()
if err != nil {
log.Fatal(err)
}
defer db.Close()
rows, err := db.Query("SELECT * FROM users")
if err != nil {
log.Fatal(err)
}
defer rows.Close()
for rows.Next() {
var id int
var name string
err = rows.Scan(&id, &name)
if err != nil {
log.Fatal(err)
}
fmt.Printf("ID: %d, Name: %s\n", id, name)
}
err = rows.Err()
if err != nil {
log.Fatal(err)
}
}
这个示例代码会连接到数据库,查询users
表中的所有数据,并打印出来。请根据你的实际需求修改查询语句和表名。
以上步骤适用于大多数情况,但具体实现可能因数据库类型和使用场景而异。请参考相应数据库驱动的文档以获取更多详细信息。