Rumah > Artikel > pangkalan data > Menggunakan MySQL dalam bahasa Go untuk mencapai penghantaran data yang boleh dipercayai
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:
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.
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.
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.
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!