Avec la popularité d'Internet, de plus en plus de petites entreprises ont lancé leur propre entreprise en ligne. La quantité de données impliquées dans ces entreprises n'est généralement pas très importante, mais pour les petites entreprises, le stockage et le traitement des données restent un problème très important. La base de données MySQL est l’une des bases de données les plus populaires actuellement utilisées pour stocker et traiter des données, et constitue également le premier choix de nombreuses petites entreprises. Cet article explique comment utiliser le langage Go pour développer et gérer rapidement une base de données MySQL.
Avant d'utiliser MySQL, nous devons d'abord installer MySQL. Vous pouvez trouver la version adaptée à votre appareil sur le site officiel de MySQL, la télécharger et l'installer en fonction de vos besoins. Une fois l'installation terminée, une configuration de base est requise, notamment la définition du mot de passe de l'utilisateur root MySQL, la création de nouveaux utilisateurs et l'attribution d'autorisations.
Le langage Go est un langage de programmation relativement nouveau qui est largement utilisé dans le développement d'applications Internet. Après avoir téléchargé le package d'installation du langage Go depuis le site officiel, suivez simplement les instructions pour l'installer. Une fois l'installation terminée, vous devez définir les variables d'environnement et le chemin GOPATH du langage Go.
Dans le langage Go, nous devons utiliser une bibliothèque tierce pour connecter et faire fonctionner la base de données MySQL. Les bibliothèques actuellement populaires incluent go-sql-driver/mysql et jmoiron/sqlx. Pour installer ces bibliothèques, vous pouvez utiliser l'outil de gestion de packages fourni avec le langage Go : go get.
Installez go-sql-driver/mysql:
go get -u github.com/go-sql-driver/mysql
Installez jmoiron/sqlx:
go get -u github.com/jmoiron/sqlx
La connexion à la base de données MySQL nécessite de spécifier les informations de connexion à la base de données et les informations d'authentification. L'utilisation du langage Go pour se connecter à la base de données MySQL nécessite les bibliothèques Database/sql et go-sql-driver/mysql. Choses à noter lors de la connexion à la base de données MySQL :
import ( "database/sql" _ "github.com/go-sql-driver/mysql" ) func main() { db, err := sql.Open("mysql", "root:123456@tcp(127.0.0.1:3306)/test?charset=utf8") if err != nil { log.Fatalln(err) } defer db.Close() // 测试连接 if err := db.Ping(); err != nil { log.Fatalln(err) } // 进行操作 // ... }
Le code ci-dessus implémente la connexion à la base de données MySQL et la connexion de test la plus basique.
Après la connexion à la base de données MySQL, nous pouvons effectuer certaines opérations courantes de base de données, telles que la requête, l'insertion et la mise à jour, etc.
Dans une base de données MySQL, une transaction peut être un ensemble d'instructions SQL, définies comme une unité d'opération, ou une ou plusieurs instructions, exécutées dans leur ensemble. Dans le langage Go, nous pouvons utiliser les fonctions Begin, Commit et Rollback pour implémenter des transactions :
func transactionTx() error { tx, err := db.Begin() if err != nil { return err } defer func() { if p := recover(); p != nil { tx.Rollback() // 捕获错误回滚 } }() stmt, err := tx.Prepare("INSERT INTO users(name, age) VALUES(?, ?)") if err != nil { return err } defer stmt.Close() _, err = stmt.Exec("user1", 20) if err != nil { return err } _, err = stmt.Exec("user2", 21) if err != nil { return err } err = tx.Commit() if err != nil { return err } return nil }
Dans l'instruction SQL du langage Go, utilisez "?" c'est-à-dire qu'il peut être gênant d'exécuter certaines instructions SQL complexes. Par conséquent, nous pouvons utiliser la bibliothèque sqlx pour exécuter MySQL afin d'exploiter la base de données de manière plus intuitive et flexible.
sqlx ne nécessite pas de préparation manuelle des instructions SQL. Il utilise des structures et des champs de structure pour décrire les instructions SQL et les paramètres liés. Par exemple :
type User struct { ID int64 `db:"id"` Name string `db:"name"` Age int `db:"age"` } user := &User{Name: "Alice", Age: 25} tx := db.MustBegin() tx.NamedExec("INSERT INTO users (name, age) VALUES (:name, :age)", user) tx.Commit()
Le code ci-dessus utilise la fonction NamedExec de sqlx pour faire fonctionner MySQL, où ":name" et ":age" sont les noms des paramètres liés, et user est un paramètre représenté par une structure.
Le framework ORM (Object Relational Mapping) peut nous aider à exploiter et à gérer la base de données plus facilement et à réduire le travail d'écriture manuelle des instructions SQL. En langage Go, le framework ORM le plus populaire est GORM.
Il est très simple d'utiliser GORM pour effectuer des opérations MySQL. Voici un exemple de création d'une table utilisateur Le code est le suivant :
import ( "github.com/jinzhu/gorm" _ "github.com/jinzhu/gorm/dialects/mysql" ) type User struct { gorm.Model Name string Age int } func main() { db, err := gorm.Open("mysql", "root:123456@/test?charset=utf8&parseTime=True&loc=Local") if err != nil { panic(err) } defer db.Close() db.AutoMigrate(&User{}) // 自动创建user表 // 添加新用户 db.Create(&User{Name: "Alice", Age: 25}) // 查询用户信息 var user User db.Where("name = ?", "Alice").First(&user) fmt.Println(user) }
Il suffit de définir une structure User pour représenter la table utilisateur dans la base de données, et la table de base de données peut être implémentée dans le code. Créez automatiquement, ajoutez de nouveaux utilisateurs et interrogez les informations des utilisateurs.
Résumé
Cet article présente comment utiliser le langage Go pour développer et gérer efficacement une base de données MySQL. Premièrement, nous devons installer la base de données MySQL, le langage Go et les bibliothèques associées ; deuxièmement, nous connecter à MySQL et effectuer les opérations de base de la base de données ; enfin, nous introduisons les opérations spécifiques d'utilisation de sqlx et du framework ORM pour le développement MySQL ; J'espère que cet article pourra fournir de l'aide et des conseils aux étudiants qui souhaitent utiliser le langage Go pour le développement MySQL.
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!