Rumah  >  Artikel  >  pangkalan data  >  Dari pemula hingga mahir: Belajar menggunakan bahasa Go untuk pembangunan pangkalan data MySQL

Dari pemula hingga mahir: Belajar menggunakan bahasa Go untuk pembangunan pangkalan data MySQL

WBOY
WBOYasal
2023-06-17 10:19:401459semak imbas

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

  1. Bahasa Go

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.

  1. Pangkalan data MySQL

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.

  1. go-sql-driver/mysql

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)
}
  1. pangkalan data/sql

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.

  1. Sambungan pangkalan data

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.

  1. Masukkan data

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.

  1. Kemas kini data

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.

  1. Data pertanyaan

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.

  1. Padam data

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:

  1. Kuasai sintaks asas

Sebelum mempelajari mana-mana bahasa pengaturcaraan, adalah disyorkan untuk menguasai sintaks asas bahasa, seperti pembolehubah, fungsi, operator, dsb.

  1. Ketahui perpustakaan yang biasa digunakan

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.

  1. Berlatih

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.

  1. Ketahui projek sumber terbuka yang sangat baik

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn