Rumah >pembangunan bahagian belakang >Golang >Menggunakan MySQL dalam Go: Panduan Lengkap

Menggunakan MySQL dalam Go: Panduan Lengkap

王林
王林asal
2023-06-17 08:57:105569semak imbas

Dengan kemunculan aplikasi Internet yang berterusan, pangkalan data telah menjadi komponen yang sangat diperlukan. Sebagai salah satu pangkalan data hubungan yang paling popular, MySQL telah digunakan secara meluas dalam pembangunan. Dalam bahasa Go, bagaimana menggunakan MySQL untuk pembangunan pangkalan data? Artikel ini akan memberi pembaca pengenalan terperinci kepada panduan lengkap yang diperlukan untuk menggunakan MySQL dalam bahasa Go.

1. Pasang pemacu MySQL: Go-MySQL-Driver

Untuk menggunakan MySQL dalam bahasa Go, anda mesti memasang pemacu MySQL. Pada masa ini, bahasa Go secara rasmi menyediakan pakej sql, tetapi ia tidak menyediakan pemacu MySQL, jadi perpustakaan pihak ketiga diperlukan. Go-MySQL-Driver ialah pemacu MySQL yang disyorkan secara rasmi oleh bahasa Go dan merupakan pilihan terbaik untuk menggunakan MySQL dalam bahasa Go. Pemasangannya sangat mudah, anda boleh menggunakan kod berikut untuk memasang:

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

2. Sambung ke pangkalan data MySQL

Sebelum menggunakan MySQL, anda perlu menyambung ke pangkalan data MySQL terlebih dahulu. Menyambung ke pangkalan data MySQL memerlukan menggunakan rentetan sambungan pangkalan data. Rentetan sambungan termasuk nama pengguna, kata laluan, alamat, nombor port, nama pangkalan data dan maklumat lain.

Contoh kod untuk menyambung ke pangkalan data MySQL adalah seperti berikut:

import (
  "database/sql"
  _ "github.com/go-sql-driver/mysql" 
)

func openDB() (*sql.DB, error) {
  db, err := sql.Open("mysql", "user:password@tcp(127.0.0.1:3306)/database")
  if err != nil {
    return nil, err
  }
  return db, nil
}

Analisis kod:

Gunakan kaedah sql.Open() untuk membuka sambungan MySQL Parameter pertama ialah nama pemacu MySQL Parameter kedua ialah rentetan sambungan untuk pangkalan data MySQL. Antaranya, rentetan sambungan mengandungi maklumat yang berkaitan dengan nama pengguna, kata laluan, alamat dan nombor port, dan yang terakhir ialah nama pangkalan data.

3. Cipta jadual data

Selepas menyambung ke MySQL, langkah seterusnya ialah membuat jadual data untuk mengendalikan jadual, anda perlu menggunakan objek pangkalan data. Dalam bahasa Go, objek pangkalan data adalah daripada jenis sql.DB, yang melaluinya operasi pangkalan data boleh dilakukan, termasuk mencipta, mengubah suai dan memadamkan jadual data.

Contoh kod penggunaan golang untuk mencipta jadual data adalah seperti berikut:

func create() error {
  db, err := openDB()
  if err != nil {
    return err
  }
  defer db.Close()
  _, err = db.Exec(`
    CREATE TABLE IF NOT EXISTS Users (
      id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, 
      name VARCHAR(50) NOT NULL, 
      age INT NOT NULL, 
      email VARCHAR(50) NOT NULL
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  `)
  if err != nil {
    return err
  }
  return nil
}

Analisis kod:

Kod pertama kali disambungkan ke pangkalan data MySQL melalui Open() kaedah, dan kemudian melaksanakan proses mencipta perintah SQL jadual, arahan MySQL mesti menulis ().

4. Masukkan data

Selepas membuat jadual data, langkah seterusnya ialah memasukkan data ke dalam jadual. Memasukkan data dalam bahasa Go memerlukan menggunakan kaedah Exec() objek pangkalan data.

Contoh kod untuk memasukkan data adalah seperti berikut:

func insert() error {
  db, err := openDB()
  if err != nil {
    return err
  }
  defer db.Close()
  _, err = db.Exec("INSERT INTO Users (name, age, email) VALUES (?, ?, ?)", "Tom", 23, "tom@example.com")
  if err != nil {
    return err
  }
  return nil
}

Analisis kod:

Apabila memasukkan data ke dalam pangkalan data, parameter pertama kaedah Exec() ialah Perintah SQL. Nilai pembolehubah digunakan untuk menghantar parameter kepada arahan SQL. Nama parameter diwakili oleh tanda soal (?).

5. Data pertanyaan

Go pertanyaan bahasa pangkalan data melalui fungsi Query(). Jenis fungsi Query() ialah func Query(rentetan pertanyaan, args...antara muka{}). Parameter pertama ialah pernyataan pertanyaan SQL, dan parameter kedua ialah nilai parameter yang diperlukan dalam pernyataan pertanyaan SQL. Asingkan parameter dengan koma.

Contoh kod untuk pertanyaan data adalah seperti berikut:

func query() error {
  db, err := openDB()
  if err != nil {
    return err
  }
  defer db.Close()
  rows, err := db.Query("SELECT id, name, age, email FROM Users")
  if err != nil {
    return err
  }
  defer rows.Close()

  for rows.Next() {
    var id, age int
    var name, email string
    if err := rows.Scan(&id, &name, &age, &email); err != nil {
      return err
    }
    fmt.Println(id, name, age, email)
  }
  return nil
}

Analisis kod:

Gunakan kaedah Query() untuk melaksanakan operasi pertanyaan, dan gunakan kaedah Scan() untuk membaca baris demi baris Dapatkan data.

6. Ubah suai data

Untuk mengubah suai data dalam bahasa Go, anda perlu menggunakan kaedah Exec() bagi objek pangkalan data.

Kod sampel untuk mengubah suai data adalah seperti berikut:

func update() error {
  db, err := openDB()
  if err != nil {
    return err
  }
  defer db.Close()
  _, err = db.Exec("UPDATE Users SET age = ? WHERE name = ?", 25, "Tom")
  if err != nil {
    return err
  }
  return nil
}

Analisis kod:

Gunakan kaedah Exec() untuk melaksanakan operasi pengubahsuaian.

7. Memadam data

Untuk memadam data dalam bahasa Go, anda perlu menggunakan kaedah Exec() bagi objek pangkalan data dan laksanakan pernyataan DELETE.

Kod sampel untuk memadam data adalah seperti berikut:

func delete() error {
  db, err := openDB()
  if err != nil {
    return err
  }
  defer db.Close()
  _, err = db.Exec("DELETE FROM Users WHERE name = ?", "Tom")
  if err != nil {
    return err
  }
  return nil
}

Analisis kod:

Gunakan kaedah Exec() untuk melaksanakan operasi pemadaman.

8. Ringkasan

Di atas adalah panduan lengkap untuk menggunakan MySQL dalam bahasa Go Melalui artikel ini, kita dapat melihat amalan terbaik menggabungkan bahasa Go dan pangkalan data MySQL. Mengendalikan pangkalan data MySQL dalam bahasa Go adalah sangat mudah dan intuitif, dan keserasian antara bahasa Go dan MySQL adalah sangat baik. Akhir sekali, saya berharap artikel ini dapat membantu anda lebih memahami dan menguasai kemahiran menggunakan MySQL dalam bahasa Go.

Atas ialah kandungan terperinci Menggunakan MySQL dalam Go: Panduan Lengkap. 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