Rumah  >  Artikel  >  pangkalan data  >  Pengaturcaraan pangkalan data MySQL menggunakan bahasa Go: dari pemula hingga mahir

Pengaturcaraan pangkalan data MySQL menggunakan bahasa Go: dari pemula hingga mahir

WBOY
WBOYasal
2023-06-17 19:16:581371semak imbas

Dengan perkembangan Internet, pangkalan data telah menjadi salah satu cara utama untuk menyimpan data. Sebagai pangkalan data hubungan sumber terbuka, mudah digunakan dan berkuasa, MySQL telah menjadi standard untuk pembangunan Internet hari ini. Sebagai bahasa pengaturcaraan yang pantas dan cekap, bahasa Go digemari oleh semakin ramai pembangun. Jadi bagaimana untuk menggabungkan keduanya untuk pengaturcaraan pangkalan data MySQL? Artikel ini akan menerangkannya kepada anda dari pemula hingga mahir.

1 Pasang dan sediakan persekitaran pembangunan bahasa Go

Tapak web rasmi bahasa Go menyediakan program pemasangan untuk pelbagai sistem pengendalian Anda boleh memilih program pemasangan yang sesuai untuk pemasangan mengikut sistem pengendalian anda versi. Selepas pemasangan selesai, anda perlu menetapkan pembolehubah persekitaran yang berkaitan dengan bahasa Go. Operasi khusus adalah seperti berikut:

1. Set GOROOT

GOROOT ialah laluan pemasangan bahasa Go Di bawah sistem Windows, anda perlu menambah laluan pemasangan bahasa Go pada pembolehubah persekitaran. Di bawah sistem lain, anda perlu menetapkan GOROOT kepada laluan pemasangan bahasa Go.

2. Tetapkan GOPATH

GOPATH ialah direktori kerja bahasa Go, iaitu laluan tempat kod Go disimpan. Jika GOPATH tidak ditetapkan, bahasa Go akan mencipta direktori baharu bernama Go dalam direktori utama pengguna semasa secara lalai dan menggunakannya sebagai GOPATH. Oleh itu, adalah disyorkan untuk menetapkan GOPATH untuk mengelakkan konflik dengan direktori yang digunakan oleh bahasa pembangunan lain.

2. Pasang MySQL

Memandangkan tiada sokongan terbina dalam untuk MySQL dalam bahasa Go, anda perlu menggunakan pemacu pihak ketiga untuk mengakses MySQL. Sebelum menggunakan pemacu pihak ketiga, anda perlu memasang pangkalan data MySQL. Kaedah pemasangan pangkalan data MySQL adalah sangat fleksibel dan tidak akan diterangkan di sini.

3. Pasang pemacu MySQL

Terdapat banyak pemacu MySQL pihak ketiga dalam bahasa Go yang biasa digunakan termasuk go-sql-driver/mysql dan mysql-orm go- Mengambil sql-driver/mysql sebagai contoh, berikut ialah langkah pemasangan:

1 Masukkan arahan berikut dalam terminal atau alat baris arahan:

go get -u github .com/go- sql-driver/mysql

2. Selepas muat turun selesai, import modul dalam kod:

import "github.com/go-sql-driver/mysql "

4. Sambung ke pangkalan data MySQL

Sebelum menggunakan pemacu MySQL, anda perlu mewujudkan sambungan yang sepadan. Seterusnya, kami akan menunjukkan cara menggunakan kod bahasa Go untuk menyambung.

1. Cipta fail main.go

Buat fail main.go baharu dalam editor teks terbuka.

2. Import modul yang diperlukan

Import modul yang diperlukan pada permulaan fail main.go:

pakej utama

import (

"fmt"
"database/sql"
_ "github.com/go-sql-driver/mysql"

)

3. Wujudkan sambungan

Tambah kod berikut dalam fail main.go untuk mewujudkan sambungan dengan pangkalan data MySQL:

func main () {

db, err := sql.Open("mysql", "username:password@tcp(127.0.0.1:3306)/dbname?charset=utf8")
if err != nil {
    fmt.Println("open mysql failed,", err)
    return
}
defer db.Close()
fmt.Println("connect to mysql success")

}

Antaranya, nama pengguna ialah nama pengguna MySQL, kata laluan ialah kata laluan MySQL, dbname ialah nama pangkalan data yang hendak disambungkan, tcp ialah protokol, 127.0.0.1 ialah alamat IP, 3306 ialah nombor port, set aksara Set aksara yang dinyatakan ialah utf8.

5. Laksanakan pertanyaan SQL dan operasi sisipan

Selepas berjaya menyambung ke pangkalan data, kami boleh menggunakan kod bahasa Go untuk melaksanakan pertanyaan SQL dan operasi memasukkan. Di bawah kami akan menerangkan pertanyaan dan operasi sisipan secara berasingan.

1. Laksanakan operasi pertanyaan SQL

Sangat mudah untuk melaksanakan operasi pertanyaan SQL menggunakan kod bahasa Go dan hanya memerlukan beberapa baris kod untuk diselesaikan. Contohnya, tanya semua data dalam jadual pengguna:

func main() {

// 建立连接

rows, err := db.Query("SELECT * FROM user")
if err != nil {
    fmt.Println("query data failed,", err)
    return
}
defer rows.Close()

for rows.Next() {
    var id int
    var name string
    var age int
    err := rows.Scan(&id, &name, &age)
    if err != nil {
        fmt.Println("get data failed,", err)
        continue
    }
    fmt.Println(id, name, age)
}

}

2 Lakukan operasi sisipan SQL

Gunakan Go kod bahasa Menjalankan operasi sisipan SQL juga sangat mudah dan hanya memerlukan beberapa baris kod untuk diselesaikan. Contohnya, masukkan data baharu ke dalam jadual pengguna:

func main() {

// 建立连接

stmt, err := db.Prepare("INSERT INTO user(name, age) VALUES (?, ?)")
if err != nil {
    fmt.Println("prepare failed,", err)
    return
}
defer stmt.Close()

res, err := stmt.Exec("john", 29)
if err != nil {
    fmt.Println("insert data failed,", err)
    return
}

lastInsertId, err := res.LastInsertId()
if err != nil {
    fmt.Println("get last insert id failed,", err)
    return
}
fmt.Println("last insert id:", lastInsertId)
rowsAffected, err := res.RowsAffected()
if err != nil {
    fmt.Println("get rows affected failed,", err)
    return
}
fmt.Println("rows affected:", rowsAffected)

}

pengaturcaraan pangkalan data MySQL menggunakan bahasa Go sangat mudah dipelajari dan digunakan. Jika anda menguasai ini Selepas mendapat pengetahuan, anda boleh mencuba operasi yang lebih kompleks, seperti urus niaga, pengumpulan sambungan, dsb. Ringkasnya, melalui penjelasan artikel ini, saya percaya bahawa semua orang telah menguasai pengetahuan asas gabungan bahasa Go dan pangkalan data MySQL. Saya berharap semua orang dapat memberikan permainan sepenuhnya kepada bakat mereka dalam pembangunan bahasa Go seterusnya.

Atas ialah kandungan terperinci Pengaturcaraan pangkalan data MySQL menggunakan bahasa Go: dari pemula hingga mahir. 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