Maison > Article > développement back-end > Go pratique linguistique : utiliser MySQL pour stocker des données
Avec le développement rapide d'Internet, le stockage et le traitement de grandes quantités de données sont devenus une tendance incontournable. En tant que système de base de données open source et facile à utiliser, la base de données relationnelle MySQL est souvent utilisée pour stocker les données des applications. Cet article expliquera comment utiliser le langage Go pour interagir avec MySQL, stocker et interroger des données.
Configuration de l'environnement
Vous devez d'abord installer le langage Go et la base de données MySQL. Vous pouvez utiliser la commande suivante pour installer :
go get -u github.com/go-sql-driver/mysql
Database connection
Avant d'utiliser MySQL, vous devez vous assurer que le service MySQL a été installé et démarré. Vous pouvez utiliser la commande suivante pour vous connecter : # 🎜🎜#
db, err := sql.Open("mysql", "username:password@tcp(host:port)/dbname")Parmi elles,
est le nom de la base de données à connecter. username
和 password
分别为数据库的用户名和密码,host
和 port
分别为MySQL服务器的IP地址和端口号,dbname
Ensuite, vous pouvez effectuer des opérations CRUD sur la base de données. Voici les commandes d'opération MySQL couramment utilisées dans le langage Go :
(1) Interroger des données
rows, err := db.Query("SELECT * FROM table_name") defer rows.Close() for rows.Next() { // 查询结果 }(2) Insérer des données
stmt, err := db.Prepare("INSERT INTO table_name (col1, col2) VALUES (?, ?)") _, err = stmt.Exec(val1, val2)(3) Mettre à jour les données #🎜🎜 #
stmt, err := db.Prepare("UPDATE table_name SET col1 = ? WHERE col2 = ?") _, err = stmt.Exec(val1, val2)
(4) Supprimer les données
stmt, err := db.Prepare("DELETE FROM table_name WHERE col1 = ?") _, err = stmt.Exec(val)
package main import ( "database/sql" "fmt" _ "github.com/go-sql-driver/mysql" ) func main() { db, err := sql.Open("mysql", "username:password@tcp(host:port)/dbname") if err != nil { fmt.Println(err.Error()) return } defer db.Close() // 查询数据 rows, err := db.Query("SELECT * FROM table_name") if err != nil { fmt.Println(err.Error()) return } defer rows.Close() for rows.Next() { var id int var name string if err := rows.Scan(&id, &name); err != nil { fmt.Println(err.Error()) return } fmt.Printf("id: %d, name: %s ", id, name) } // 插入数据 stmt, err := db.Prepare("INSERT INTO table_name (id, name) VALUES (?, ?)") if err != nil { fmt.Println(err.Error()) return } defer stmt.Close() _, err = stmt.Exec(1, "test") if err != nil { fmt.Println(err.Error()) return } // 更新数据 stmt, err = db.Prepare("UPDATE table_name SET name = ? WHERE id = ?") if err != nil { fmt.Println(err.Error()) return } defer stmt.Close() _, err = stmt.Exec("updated_test", 1) if err != nil { fmt.Println(err.Error()) return } // 删除数据 stmt, err = db.Prepare("DELETE FROM table_name WHERE id = ?") if err != nil { fmt.Println(err.Error()) return } defer stmt.Close() _, err = stmt.Exec(1) if err != nil { fmt.Println(err.Error()) return } }
Summary
Ce 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!