Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk menyambung ke pangkalan data jauh menggunakan Golang?
Melalui pakej pangkalan data/sql perpustakaan standard Go, anda boleh menyambung ke pangkalan data jauh seperti MySQL, PostgreSQL atau SQLite: Buat rentetan sambungan yang mengandungi maklumat sambungan pangkalan data. Buka sambungan pangkalan data menggunakan fungsi sql.Open(). Lakukan operasi pangkalan data seperti pertanyaan SQL dan operasi sisipan. Gunakan tangguh untuk menutup sambungan pangkalan data untuk mengeluarkan sumber.
Cara menyambung ke pangkalan data jauh dengan Golang
Golang ialah bahasa pengaturcaraan berkuasa yang boleh menyambung ke pangkalan data jauh dengan mudah. Tutorial ini akan memperkenalkan cara menggunakan pakej pangkalan data/sql
perpustakaan standard Go untuk menyambung ke pangkalan data jauh seperti MySQL, PostgreSQL dan SQLite. 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 }🎜🎜PostgreSQL: 🎜🎜
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) }🎜🎜SQLite: 🎜🎜rrreee🎜🎜PostgreSQL: 🎜🎜rrreee🎜🎜SQLite: 🎜🎜rreee🎜🎜Kod laluan,
host
, port
dan dbname
adalah khusus pangkalan data. 🎜🎜Sambung ke pangkalan data🎜🎜Gunakan pakej pangkalan data/sql
untuk menyambung ke pangkalan data: 🎜rrreee🎜Kes praktikal🎜🎜Berikut ialah contoh mudah menggunakan pangkalan data MySQL:🎜rrreeeAtas ialah kandungan terperinci Bagaimana untuk menyambung ke pangkalan data jauh menggunakan Golang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!