Maison > Article > développement back-end > Comment se connecter à une base de données distante à l'aide de Golang ?
Grâce au package base de données/sql de la bibliothèque standard Go, vous pouvez vous connecter à des bases de données distantes telles que MySQL, PostgreSQL ou SQLite : créez une chaîne de connexion contenant les informations de connexion à la base de données. Utilisez la fonction sql.Open() pour ouvrir une connexion à la base de données. Effectuez des opérations de base de données telles que des requêtes SQL et des opérations d'insertion. Utilisez defer pour fermer la connexion à la base de données afin de libérer des ressources.
Comment se connecter à une base de données distante avec Golang
Golang est un langage de programmation puissant qui peut facilement se connecter à une base de données distante. Ce didacticiel expliquera comment utiliser le package database/sql
de la bibliothèque standard Go pour se connecter à des bases de données distantes telles que MySQL, PostgreSQL et 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🎜Où,
utilisateur
, mot de passe, <code>host
, port
et dbname
sont spécifiques à la base de données. 🎜🎜Connectez-vous à la base de données🎜🎜Utilisez le package database/sql
pour vous connecter à la base de données : 🎜rrreee🎜Cas pratique🎜🎜Ce qui suit est un exemple simple utilisant la base de données MySQL :🎜rrreeeCe qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!