Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menyambung ke pangkalan data di golang?

Bagaimana untuk menyambung ke pangkalan data di golang?

PHPz
PHPzasal
2023-04-25 15:11:452404semak imbas

Dalam pembangunan aplikasi moden, berinteraksi dengan pangkalan data adalah tugas yang sangat penting kerana kebanyakan data aplikasi disimpan dalam pangkalan data. Dalam pembangunan Golang, menyambung ke pangkalan data juga merupakan tugas penting. Artikel ini akan memperkenalkan cara menggunakan Golang untuk menyambung ke pangkalan data.

  1. Pasang pemacu pangkalan data

Menyambung kepada pangkalan data di Golang memerlukan penggunaan pemacu pangkalan data yang sepadan. Oleh itu, sebelum memulakan, kita perlu memasang pemacu yang sepadan. Golang boleh menyambung kepada pelbagai jenis pangkalan data, seperti MySQL, PostgreSQL, SQL Server, Oracle, dsb. Setiap pangkalan data memerlukan pemacu yang berbeza.

Kami akan mengambil MySQL sebagai contoh untuk menerangkan cara menyambung ke pangkalan data. Sebelum menyambung ke MySQL, kita perlu memasang pemacu mysql. Anda boleh menggunakan arahan berikut untuk memasangnya:

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

Sudah tentu, anda juga perlu mengimport perpustakaan yang sepadan dalam kod.

import (
  "database/sql"
  _ "github.com/go-sql-driver/mysql"
)
  1. Menyambung ke MySQL

Menyambung ke MySQL memerlukan maklumat asas berikut:

  • Nama pangkalan data
  • Nama hos/ Alamat IP
  • Nombor port
  • Nama Pengguna
  • Kata Laluan

Di Golang, anda boleh menggunakan kod berikut untuk menyambung ke MySQL:

func Connect() (*sql.DB, error){

  //设置数据库连接信息
  db, err := sql.Open("mysql", "USER_NAME:PASSWORD@tcp(HOST:PORT)/DB_NAME")

  //测试连接
  err = db.Ping()
  if err != nil {
    return nil, err
  }

  return db, nil
}

Dalam coretan kod ini, kami menggunakan fungsi sql.Open() untuk membuka sambungan pangkalan data dan menentukan maklumat sambungan pangkalan data dengan menghantar parameter. Dalam kes ini, HOST ialah alamat IP atau nama hos hos pangkalan data, PORT ialah nombor port untuk MySQL, DB_NAME ialah nama pangkalan data untuk disambungkan dan USER_NAME dan PASSWORD ialah nama pengguna dan kata laluan untuk pangkalan data. Jika sambungan berjaya, penunjuk kepada contoh pangkalan data dikembalikan.

  1. Lakukan pertanyaan

Selepas menyambung ke pangkalan data, kami boleh melakukan pelbagai pertanyaan dan operasi. Anda boleh menggunakan fungsi Prepare() dan Exec() atau Query() untuk melaksanakan pertanyaan SQL dalam Golang.

Sebagai contoh, coretan kod berikut boleh melaksanakan pertanyaan Sisipan:

func AddProduct(name string, price int) error {

  //连接到数据库
  db, err := Connect()
  if err != nil {
    return err
  }
  defer db.Close()

  //准备SQL语句
  stmt, err := db.Prepare("INSERT INTO products(name, price) VALUES(?,?)")
  if err != nil {
    return err
  }
  defer stmt.Close()

  //执行查询
  _, err = stmt.Exec(name, price)
  if err != nil {
    return err
  }

  return nil
}

Dalam kod ini, kami menggunakan fungsi Prepare() untuk menyediakan pernyataan SQL dan kemudian menggunakan Exec() fungsi Laksanakan pertanyaan. Exec()Fungsi mengembalikan bilangan baris dan maklumat ralat. Jika ralat kosong, pernyataan sisipan berjaya.

Begitu juga, kita boleh menggunakan fungsi Query() dan Scan() untuk melaksanakan Pilih pertanyaan dan mendapatkan set hasil pertanyaan.

  1. Kesimpulan

Dalam artikel ini, kami mempelajari cara menggunakan Golang untuk menyambung ke pangkalan data MySQL. Menyambung ke pangkalan data memerlukan pemasangan pemacu yang sepadan dan menentukan maklumat sambungan. Setelah sambungan berjaya, kami boleh melakukan pelbagai pertanyaan dan operasi SQL, termasuk Sisipkan, Kemas Kini, Padam dan Pilih. Saya doakan awak berjaya.

Atas ialah kandungan terperinci Bagaimana untuk menyambung ke pangkalan data di golang?. 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