Rumah  >  Artikel  >  pangkalan data  >  Menggunakan MySQL dalam bahasa Go untuk mencapai penghantaran data yang boleh dipercayai

Menggunakan MySQL dalam bahasa Go untuk mencapai penghantaran data yang boleh dipercayai

王林
王林asal
2023-06-17 11:25:371539semak imbas

Dengan perkembangan pesat teknologi data besar dan pengkomputeran awan, jumlah data semakin meningkat, dan pemprosesan dan penghantaran data menjadi semakin penting. Kebolehpercayaan adalah sangat penting semasa penghantaran data kerana jika sebarang masalah berlaku semasa penghantaran data, keseluruhan sistem mungkin mengalami masalah. Oleh itu, bagaimana untuk mencapai penghantaran data yang boleh dipercayai telah menjadi isu yang sangat penting. Dalam bahasa Go, penghantaran data yang boleh dipercayai boleh dicapai dengan baik dengan menggunakan pangkalan data MySQL.

MySQL ialah sistem pengurusan pangkalan data hubungan popular yang dibangunkan oleh Oracle Corporation. MySQL mempunyai ketersediaan dan kebolehpercayaan yang tinggi, dan boleh menyokong operasi membaca dan menulis data yang sangat serentak. Oleh itu, menggunakan MySQL untuk pemindahan data adalah sangat dipercayai dan pantas.

Dalam bahasa Go, langkah-langkah untuk menggunakan MySQL untuk melaksanakan penghantaran data adalah seperti berikut:

  1. Sambung ke pangkalan data MySQL

Dalam bahasa Go, gunakan Pakej Go-MySQL -Driver boleh menyambung ke pangkalan data MySQL dengan mudah. Pakej boleh dipasang melalui arahan go get Arahan pemasangan adalah seperti berikut:

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

Selepas mengimport pakej dalam kod, anda boleh menggunakan kod berikut untuk menyambung ke pangkalan data MySQL:

db, err := sql.Open("mysql", "root:password@tcp(127.0.0.1:3306)/dbname")
if err != nil {
    log.Fatal(err)
}
defer db.Close()

di mana root ialah nama pengguna Pangkalan Data, kata laluan ialah kata laluan pangkalan data, 127.0.0.1 ialah alamat pangkalan data, 3306 ialah nombor port MySQL, dan dbname ialah nama pangkalan data.

  1. Penciptaan jadual pangkalan data

Dalam pangkalan data MySQL, anda perlu mencipta jadual terlebih dahulu untuk menyimpan data. Struktur jadual boleh ditetapkan mengikut keperluan perniagaan sebenar, contohnya:

CREATE TABLE IF NOT EXISTS `data` (
    `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
    `time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
    `data` text NOT NULL,
    PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

Jadual mengandungi tiga medan: id ialah id yang meningkat sendiri, masa ialah cap masa dan data ialah data yang disimpan.

  1. Menulis dan membaca data

Dalam bahasa Go, gunakan kaedah Exec() objek sql.DB untuk menulis data ke pangkalan data MySQL.

stmt, err := db.Prepare("INSERT INTO data(time, data) VALUES(?, ?)")
if err != nil {
    log.Fatal(err)
}
defer stmt.Close()
res, err := stmt.Exec(time.Now(), "data")
if err != nil {
    log.Fatal(err)
}
id, err := res.LastInsertId()
if err != nil {
    log.Fatal(err)
}

Dalam kod di atas, kaedah Prepare() mula-mula digunakan untuk membina pernyataan SQL, dan kemudian kaedah Exec() digunakan untuk melaksanakan pernyataan SQL dan menulis data ke pangkalan data. Selepas pelaksanaan berjaya, id data yang dimasukkan boleh diperolehi.

Apabila membaca data, anda boleh menggunakan kaedah Query() objek sql.DB untuk melaksanakan operasi pertanyaan.

rows, err := db.Query("SELECT * FROM data")
if err != nil {
    log.Fatal(err)
}
defer rows.Close()
for rows.Next() {
    var id int
    var time time.Time
    var data string
    if err := rows.Scan(&id, &time, &data); err != nil {
        log.Fatal(err)
    }
    fmt.Println(id, time, data)
}
if err := rows.Err(); err != nil {
    log.Fatal(err)
}

Dalam kod di atas, kaedah Query() pertama kali digunakan untuk melaksanakan operasi pertanyaan dan mendapatkan set hasil. Kemudian gunakan kaedah Next() untuk melelar melalui setiap baris data dalam set hasil, dan gunakan kaedah Scan() untuk menyimpan setiap baris data ke dalam pembolehubah.

  1. Pengubahsuaian dan pemadaman data

Dalam bahasa Go, anda boleh mengubah suai dan memadam data menggunakan kaedah Exec() objek sql.DB.

Kod untuk mengubah suai data adalah seperti berikut:

stmt, err := db.Prepare("UPDATE data SET data=? WHERE id=?")
if err != nil {
    log.Fatal(err)
}
defer stmt.Close()
res, err := stmt.Exec("new data", id)
if err != nil {
    log.Fatal(err)
}
rowsAffected, err := res.RowsAffected()
if err != nil {
    log.Fatal(err)
}

Kod untuk memadam data adalah seperti berikut:

stmt, err := db.Prepare("DELETE FROM data WHERE id=?")
if err != nil {
    log.Fatal(err)
}
defer stmt.Close()
res, err := stmt.Exec(id)
if err != nil {
    log.Fatal(err)
}
rowsAffected, err := res.RowsAffected()
if err != nil {
    log.Fatal(err)
}

Dalam kod di atas, mula-mula gunakan Exec( ) kaedah untuk melaksanakan operasi pengubahsuaian atau pemadaman, dan kemudian gunakan kaedah RowsAffected() mendapatkan bilangan baris yang terjejas.

Ringkasan

Menggunakan MySQL dalam bahasa Go untuk mencapai penghantaran data yang boleh dipercayai memerlukan penyambungan ke pangkalan data MySQL dahulu, kemudian mencipta struktur jadual, dan akhirnya menggunakan kaedah Exec() untuk menambah, memadam, mengubah suai, dan data pertanyaan. Menggunakan pangkalan data MySQL boleh memastikan kebolehpercayaan data semasa penghantaran data dan meningkatkan kestabilan dan kebolehpercayaan sistem.

Atas ialah kandungan terperinci Menggunakan MySQL dalam bahasa Go untuk mencapai penghantaran data yang boleh dipercayai. 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