Avec le développement continu de la technologie Internet, les bases de données, en tant qu'élément indispensable du développement de logiciels, sont également constamment développées et mises à jour. En tant que langage à hautes performances et à haute efficacité de développement, le langage Go est de plus en plus utilisé dans le développement de bases de données et est très recherché par les développeurs. Cet article vise à aider les novices à comprendre les connaissances de base du langage Go et de la base de données MySQL. Il explique également comment le langage Go peut développer une base de données MySQL à travers des exemples et donne quelques suggestions d'apprentissage.
1. Connaissance de base du langage Go et de la base de données MySQL
Le langage Go est un langage de programmation lancé par Google. Il présente les caractéristiques de concurrence, d'efficacité et de facilité d'apprentissage, ce qui le rend utile dans des domaines tels que. programmation réseau. A une large gamme d’applications. La syntaxe du langage Go est simple et facile à comprendre, facile à utiliser et a une vitesse de compilation efficace, qui permet de localiser et de résoudre rapidement les problèmes. À l’heure actuelle, certaines grandes sociétés Internet, comme Google, Uber, Dropbox, etc., utilisent largement le langage Go.
La base de données MySQL est un système de gestion de base de données open source couramment utilisé dans l'industrie. Il présente les caractéristiques d'une grande stabilité, d'une forte fiabilité et d'une maintenance facile. Dans le domaine Internet, MySQL est l'une des bases de données les plus couramment utilisées. Divers grands sites Web et entreprises utilisent largement MySQL pour stocker des données.
2. Connexion entre le langage Go et la base de données MySQL
Dans le langage Go, nous pouvons utiliser des bibliothèques tierces pour connecter et faire fonctionner la base de données MySQL. Parmi eux, go-sql-driver/mysql et database/sql sont deux bibliothèques de connexion MySQL couramment utilisées.
go-sql-driver/mysql est une bibliothèque de pilotes MySQL écrite en langage Go pur. Elle utilise des protocoles natifs pour la communication et prend en charge plusieurs connexions à des bases de données. Nous pouvons l'utiliser en suivant les étapes :
(1) Installez la bibliothèque go-sql-driver/mysql :
go get -u github.com/go-sql-driver/mysql
(2) Ouvrir la connexion à la base de données :
db, err := sql.Open("mysql", "username:password@tcp(host:port)/database") defer db.Close()
(3) Exécuter l'instruction SQL :
rows, err := db.Query("SELECT ... FROM ...") defer rows.Close()
(4) Obtenez les résultats de la requête :
for rows.Next() { var column1 string var column2 int err = rows.Scan(&column1, &column2) }
database/sql est une bibliothèque standard qui fournit un ensemble d'interfaces pour gérer les opérations de base de données courantes. Les étapes pour se connecter à la base de données MySQL à l'aide de database/sql sont les suivantes :
(1) Installez le pilote MySQL :
go get -u github.com/go-sql-driver/mysql
(2) Ouvrez la connexion à la base de données :
db, err := sql.Open("mysql", "username:password@tcp(host:port)/database") defer db.Close()
(3) Interrogez les données :
rows, err := db.Query("SELECT ... FROM ...") defer rows.Close()
(4) Obtenez les résultats de la requête :
for rows.Next() { var column1 string var column2 int err = rows.Scan(&column1, &column2) }
3. Exemple d'utilisation du langage Go pour faire fonctionner la base de données MySQL
Ce qui suit est un exemple simple pour illustrer comment effectuer les opérations d'ajout, de suppression, de modification et d'interrogation sur la base de données MySQL en langage Go. .
Tout d'abord, nous devons utiliser go-sql-driver/mysql pour nous connecter à la base de données MySQL et ouvrir une connexion :
db, err := sql.Open("mysql", "root:password@tcp(127.0.0.1:3306)/test") if err != nil { panic(err.Error()) } defer db.Close()
où root est le nom d'utilisateur MySQL, password est le mot de passe et test est le nom de la base de données de la connexion à établir.
L'insertion de données peut être réalisée via le code suivant :
query := "INSERT INTO `user` (`name`, `age`) VALUES (?, ?)" stmt, err := db.Prepare(query) if err != nil { panic(err.Error()) } defer stmt.Close() result, err := stmt.Exec("Tom", 18) if err != nil { panic(err.Error()) } id, err := result.LastInsertId() if err != nil { panic(err.Error()) } fmt.Printf("Insert new record with ID:%d successfully ", id)
Parmi eux, nous pouvons prétraiter une instruction SQL via la méthode Prepare et l'exécuter en utilisant la méthode Exec pour insérer les données dans la base de données MySQL.
La mise à jour des données peut être réalisée via le code suivant :
query := "UPDATE `user` SET `name`=?, `age`=? WHERE `id`=?" stmt, err := db.Prepare(query) if err != nil { panic(err.Error()) } defer stmt.Close() result, err := stmt.Exec("Alice", 20, 1) if err != nil { panic(err.Error()) } rows, err := result.RowsAffected() if err != nil { panic(err.Error()) } fmt.Printf("Update %d rows successfully ", rows)
Parmi eux, nous prétraitons une instruction SQL via la méthode Prepare et l'exécutons à l'aide de la méthode Exec pour modifier le champ de nom de l'enregistrement avec l'identifiant 1 à Alice , le champ d'âge est modifié à 20.
L'interrogation de données peut être réalisée via le code suivant :
query := "SELECT `name`, `age` FROM `user` WHERE `id`=?" stmt, err := db.Prepare(query) if err != nil { panic(err.Error()) } defer stmt.Close() rows, err := stmt.Query(1) if err != nil { panic(err.Error()) } defer rows.Close() for rows.Next() { var name string var age int err := rows.Scan(&name, &age) if err != nil { panic(err.Error()) } fmt.Printf("Name:%s Age:%d ", name, age) }
Parmi eux, nous interrogeons l'enregistrement avec l'identifiant 1 via la méthode Query, et obtenons les valeurs des champs nom et âge via la Méthode de numérisation et sortie-les.
La suppression de données peut être réalisée via le code suivant :
query := "DELETE FROM `user` WHERE `id`=?" stmt, err := db.Prepare(query) if err != nil { panic(err.Error()) } defer stmt.Close() result, err := stmt.Exec(1) if err != nil { panic(err.Error()) } rows, err := result.RowsAffected() if err != nil { panic(err.Error()) } fmt.Printf("Delete %d rows successfully ", rows)
Parmi eux, nous prétraitons une instruction SQL via la méthode Prepare et l'exécutons en utilisant la méthode Exec pour supprimer l'enregistrement avec l'identifiant 1 de MySQL base de données.
4. Suggestions d'apprentissage
Pour ceux qui souhaitent apprendre le langage Go et le développement de bases de données MySQL, voici quelques suggestions :
Avant d'apprendre un langage de programmation, il est recommandé de maîtriser le langage Basic. syntaxe, telle que les variables, les fonctions, les opérateurs, etc.
Pour les développeurs du langage Go, maîtriser certaines bibliothèques couramment utilisées est très utile pour améliorer l'efficacité du développement. Lorsque vous apprenez le développement de bases de données MySQL, vous pouvez apprendre les deux bibliothèques go-sql-driver/mysql et database/sql.
La meilleure façon d'apprendre un langage de programmation est de le pratiquer. Vous pouvez écrire vous-même quelques applications simples, continuer à approfondir la difficulté et renforcer vos compétences en programmation.
Comprendre et apprendre certains projets open source est également très utile pour améliorer les capacités de développement. Vous pouvez apprendre d'excellents projets open source en langage Go, tels que Docker, Kubernetes, etc.
En bref, le langage Go et la base de données MySQL sont des outils importants permettant aux développeurs de réaliser le développement de logiciels et la gestion de bases de données. L'apprentissage et la maîtrise de ces technologies peuvent aider les développeurs à améliorer leurs compétences en programmation et leur efficacité en matière de développement. J'espère que les explications et les exemples de cet article pourront être utiles aux débutants.
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!