如何用 Golang 连接远程数据库?

通过 go 标准库 database/sql 包,可以连接到 mysql、postgresql 或 sqlite 等远程数据库:创建包含数据库连接信息的连接字符串。使用 sql.open() 函数打开数据库连接。执行 sql 查询和插入操作等数据库操作。使用 defer 关闭数据库连接以释放资源。

如何用 Golang 连接远程数据库?

如何用 Golang 连接远程数据库

Golang 是一款功能强大的编程语言,可以轻松连接到远程数据库。本篇教程将介绍如何使用 Go 标准库 database/sql 包连接到 MySQL、PostgreSQL 和 SQLite 等远程数据库。

必备条件

Golang 1.16 或更高版本远程数据库(如 MySQL、PostgreSQL 或 SQLite)

连接字符串

首先,我们需要创建一个连接字符串,该字符串包含连接到数据库所需的信息。以下是如何创建不同数据库的连接字符串:

立即学习“go语言免费学习笔记(深入)”;

MySQL:

  1. "user:password@tcp(host:port)/dbname"

登录后复制

PostgreSQL:

  1. "user=username password=password host=address port=port dbname=database"

登录后复制

SQLite:

  1. "path/to/sqlite.db"

登录后复制

其中,user、password、host、port 和 dbname 是特定于数据库的。

连接数据库

使用 database/sql 包连接到数据库:

  1. import ( "database/sql" _ "github.com/go-sql-driver/mysql" // Import MySQL driver _ "github.com/lib/pq" // Import PostgreSQL driver _ "github.com/mattn/go-sqlite3" // Import SQLite driver)func main() { // Create a connection string connStr := "user:password@tcp(host:port)/dbname" // Open the database connection db, err := sql.Open("mysql", connStr) if err != nil { panic(err) } defer db.Close() // Close the connection when the function returns}

登录后复制

实战案例

以下是一个使用 MySQL 数据库的简单示例:

  1. package mainimport ( "database/sql" "fmt" _ "github.com/go-sql-driver/mysql" // Import MySQL driver)func main() { // Connect to the database db, err := sql.Open("mysql", "root:@/test") if err != nil { panic(err) } defer db.Close() // Close the connection when the function returns // Create a table query := `CREATE TABLE IF NOT EXISTS users ( id INT PRIMARY KEY AUTO_INCREMENT, username VARCHAR(255) NOT NULL, password VARCHAR(255) NOT NULL );` _, err = db.Exec(query) if err != nil { panic(err) } // Insert a record into the table query = `INSERT INTO users (username, password) VALUES (?, ?)` stmt, err := db.Prepare(query) if err != nil { panic(err) } _, err = stmt.Exec("admin", "password") if err != nil { panic(err) } // Retrieve the record from the table query = `SELECT * FROM users WHERE id = ?` var id int var username string var password string err = db.QueryRow(query, 1).Scan(&id, &username, &password) if err != nil { panic(err) } fmt.Println("ID:", id, "Username:", username, "Password:", password)}

登录后复制

以上就是如何用 Golang 连接远程数据库?的详细内容,更多请关注【创想鸟】其它相关文章!

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

点点赞赏,手留余香

给TA打赏
共0人
还没有人赞赏,快来当第一个赞赏的人吧!
    编程技术

    如何在 Golang 中处理文件系统错误?

    2025-3-6 1:46:46

    编程技术

    如何为 Golang 数据库连接配置连接池?

    2025-3-6 1:47:03

    0 条回复 A文章作者 M管理员
    欢迎您,新朋友,感谢参与互动!
      暂无讨论,说说你的看法吧
    个人中心
    购物车
    优惠劵
    今日签到
    私信列表
    搜索