透過 Go 標準函式庫 database/sql 包,可以連接到 MySQL、PostgreSQL 或 SQLite 等遠端資料庫:建立包含資料庫連接資訊的連接字串。使用 sql.Open() 函數開啟資料庫連線。執行 SQL 查詢和插入操作等資料庫操作。使用 defer 關閉資料庫連線以釋放資源。
如何用 Golang 連接遠端資料庫
Golang 是一款功能強大的程式語言,可以輕鬆連接到遠端資料庫。本教學將介紹如何使用 Go 標準函式庫 database/sql
套件連接到 MySQL、PostgreSQL 和 SQLite 等遠端資料庫。
首先,我們需要建立一個連接字串,該字串包含連接到資料庫所需的資訊。以下是如何建立不同資料庫的連接字串:
MySQL:
"user:password@tcp(host:port)/dbname"
PostgreSQL:
"user=username password=password host=address port=port dbname=database"
# SQLite:
"path/to/sqlite.db"
其中,user
、password
、host
、port
和dbname
是特定於資料庫的。
使用database/sql
套件連接到資料庫:
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 資料庫的簡單範例:
package main import ( "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 連接遠端資料庫?的詳細內容。更多資訊請關注PHP中文網其他相關文章!