Rumah >pangkalan data >tutorial mysql >Dari pemula hingga mahir: Belajar menggunakan bahasa Go untuk pembangunan pangkalan data MySQL
Dengan pembangunan berterusan teknologi Internet, pangkalan data, sebagai bahagian yang sangat diperlukan dalam pembangunan perisian, juga sentiasa dibangunkan dan dikemas kini. Sebagai bahasa dengan prestasi tinggi dan kecekapan pembangunan tinggi, bahasa Go semakin digunakan dalam pembangunan pangkalan data dan sangat dicari oleh pembangun. Artikel ini bertujuan untuk membantu orang baru memahami pengetahuan asas bahasa Go dan pangkalan data MySQL Pada masa yang sama, ia menerangkan cara bahasa Go boleh membangunkan pangkalan data MySQL melalui contoh, dan memberikan beberapa cadangan pembelajaran.
1. Pengetahuan asas bahasa Go dan pangkalan data MySQL
Bahasa Go ialah bahasa pengaturcaraan yang dilancarkan oleh Google, yang mempunyai Ciri-ciri serentak seperti fleksibiliti, kecekapan dan kemudahan pembelajaran menjadikannya digunakan secara meluas dalam bidang seperti pengaturcaraan rangkaian. Sintaks bahasa Go adalah ringkas dan mudah difahami, mudah digunakan dan mempunyai kelajuan kompilasi yang cekap, yang boleh mengesan dan menyelesaikan masalah dengan cepat. Pada masa ini, beberapa syarikat Internet besar, seperti Google, Uber, Dropbox, dll., menggunakan bahasa Go secara meluas.
Pangkalan data MySQL ialah sistem pengurusan pangkalan data sumber terbuka yang biasa digunakan dalam industri Ia mempunyai ciri-ciri kestabilan yang tinggi, kebolehpercayaan yang kukuh dan penyelenggaraan yang mudah. Dalam bidang Internet, MySQL adalah salah satu pangkalan data yang paling biasa digunakan Pelbagai laman web dan perusahaan besar menggunakan MySQL untuk menyimpan data.
2. Sambungan antara bahasa Go dan pangkalan data MySQL
Dalam bahasa Go, kami boleh menggunakan perpustakaan pihak ketiga untuk menyambung dan mengendalikan pangkalan data MySQL. Antaranya, go-sql-driver/mysql dan pangkalan data/sql adalah dua perpustakaan sambungan MySQL yang biasa digunakan.
go-sql-driver/mysql ialah perpustakaan pemacu MySQL yang ditulis dalam bahasa Go tulen Ia menggunakan protokol asli untuk komunikasi. , menyokong berbilang sambungan pangkalan data. Kita boleh menggunakannya dengan mengikuti langkah:
(1) Pasang perpustakaan go-sql-driver/mysql:
go get -u github.com/go-sql-driver/mysql
(2) Buka sambungan pangkalan data:
db, err := sql.Open("mysql", "username:password@tcp(host:port)/database") defer db.Close()
( 3) Laksanakan pernyataan SQL:
rows, err := db.Query("SELECT ... FROM ...") defer rows.Close()
(4) Dapatkan hasil pertanyaan:
for rows.Next() { var column1 string var column2 int err = rows.Scan(&column1, &column2) }
pangkalan data/sql ialah perpustakaan standard, Ia menyediakan satu set antara muka untuk mengendalikan operasi pangkalan data biasa. Langkah-langkah untuk menyambung ke pangkalan data MySQL menggunakan pangkalan data/sql adalah seperti berikut:
(1) Pasang pemacu MySQL:
go get -u github.com/go-sql-driver/mysql
(2) Buka sambungan pangkalan data:
db, err := sql.Open("mysql", "username:password@tcp(host:port)/database") defer db.Close()
(3) Pertanyaan data :
rows, err := db.Query("SELECT ... FROM ...") defer rows.Close()
(4) Dapatkan hasil pertanyaan:
for rows.Next() { var column1 string var column2 int err = rows.Scan(&column1, &column2) }
3. Contoh bahasa Go yang mengendalikan pangkalan data MySQL
Berikut adalah ringkas contoh untuk menggambarkan cara mengendalikan pangkalan data MySQL dalam bahasa Go Lengkapkan operasi tambah, padam, ubah suai dan pertanyaan pada pangkalan data MySQL.
Pertama, kita perlu menyambung ke pangkalan data MySQL dengan go-sql-driver/mysql dan membuka sambungan:
db, err := sql.Open("mysql", "root:password@tcp(127.0.0.1:3306)/test") if err != nil { panic(err.Error()) } defer db.Close()
di mana , root ialah nama pengguna MySQL, kata laluan ialah kata laluan, dan ujian ialah nama pangkalan data yang akan disambungkan.
Memasukkan data boleh dicapai melalui kod berikut:
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)
Antaranya, kita boleh praproses pernyataan SQL melalui kaedah Sediakan , dan Gunakan kaedah Exec untuk melaksanakan dan memasukkan data ke dalam pangkalan data MySQL.
Pengemaskinian data boleh dicapai melalui kod berikut:
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)
Antaranya, kami memproses kenyataan SQL melalui kaedah Sediakan dan gunakan Kaedah Exec dilaksanakan, dan medan nama rekod dengan ID 1 ditukar kepada Alice, dan medan umur ditukar kepada 20.
Data pertanyaan boleh dicapai melalui kod berikut:
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) }
Antaranya, kami menanyakan rekod dengan id 1 melalui Pertanyaan kaedah, dan Dapatkan nilai medan nama dan umur melalui kaedah Imbas dan keluarkannya.
Memadam data boleh dicapai melalui kod berikut:
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)
Antaranya, kami memproses pernyataan SQL melalui kaedah Sediakan dan gunakan Kaedah Exec dilaksanakan dan rekod dengan ID 1 dipadamkan daripada pangkalan data MySQL.
4. Cadangan Pembelajaran
Bagi mereka yang ingin mempelajari bahasa Go dan pembangunan pangkalan data MySQL, terdapat cadangan berikut:
Sebelum mempelajari mana-mana bahasa pengaturcaraan, adalah disyorkan untuk menguasai sintaks asas bahasa, seperti pembolehubah, fungsi, operator, dsb.
Untuk pembangun bahasa Go, menguasai beberapa perpustakaan yang biasa digunakan sangat membantu untuk meningkatkan kecekapan pembangunan. Apabila mempelajari pembangunan pangkalan data MySQL, anda boleh mempelajari dua perpustakaan go-sql-driver/mysql dan pangkalan data/sql.
Cara terbaik untuk mempelajari bahasa pengaturcaraan ialah dengan mempraktikkannya. Anda boleh menulis sendiri beberapa aplikasi mudah, dan terus mendalami kesukaran dan mengukuhkan kemahiran pengaturcaraan anda.
Memahami dan mempelajari beberapa projek sumber terbuka juga sangat membantu untuk meningkatkan keupayaan pembangunan. Anda boleh mempelajari beberapa projek sumber terbuka bahasa Go yang sangat baik, seperti Docker, Kubernetes, dsb.
Ringkasnya, bahasa Go dan pangkalan data MySQL ialah alat penting untuk pembangun menjalankan pembangunan perisian dan pengurusan pangkalan data Pembelajaran dan menguasai teknologi ini boleh membantu pembangun meningkatkan kemahiran pengaturcaraan dan kecekapan pembangunan mereka. Saya berharap penjelasan dan contoh dalam artikel ini dapat membantu kepada pemula.
Atas ialah kandungan terperinci Dari pemula hingga mahir: Belajar menggunakan bahasa Go untuk pembangunan pangkalan data MySQL. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!