Heim > Artikel > Backend-Entwicklung > Wie verbinde ich mich mit Golang mit einer Remote-Datenbank?
Über das Datenbank-/SQL-Paket der Go-Standardbibliothek können Sie eine Verbindung zu Remote-Datenbanken wie MySQL, PostgreSQL oder SQLite herstellen: Erstellen Sie eine Verbindungszeichenfolge mit Datenbankverbindungsinformationen. Verwenden Sie die Funktion sql.Open(), um eine Datenbankverbindung zu öffnen. Führen Sie Datenbankoperationen wie SQL-Abfragen und Einfügeoperationen durch. Verwenden Sie „defer“, um die Datenbankverbindung zu schließen und Ressourcen freizugeben.
So stellen Sie mit Golang eine Verbindung zu einer Remote-Datenbank her
Golang ist eine leistungsstarke Programmiersprache, die problemlos eine Verbindung zu einer Remote-Datenbank herstellen kann. In diesem Tutorial erfahren Sie, wie Sie das Go-Standardbibliothekspaket database/sql
verwenden, um eine Verbindung zu Remote-Datenbanken wie MySQL, PostgreSQL und SQLite herzustellen. 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🎜Wobei,
Benutzer
, Passwort, <code>host
, port
und dbname
sind datenbankspezifisch. 🎜🎜Mit der Datenbank verbinden🎜🎜Verwenden Sie das Paket database/sql
, um eine Verbindung mit der Datenbank herzustellen: 🎜rrreee🎜Praktischer Fall🎜🎜Das Folgende ist ein einfaches Beispiel für die Verwendung der MySQL-Datenbank:🎜rrreeeDas obige ist der detaillierte Inhalt vonWie verbinde ich mich mit Golang mit einer Remote-Datenbank?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!