Kata Pengantar
Dengan perkembangan berterusan industri Internet, terdapat banyak perubahan dalam kaedah pemprosesan data. Pangkalan data perhubungan tradisional tidak lagi dapat menanggung bacaan dan penulisan serentak yang tinggi bagi data besar-besaran, serta keperluan ketersediaan yang tinggi, dan secara beransur-ansur digantikan oleh pangkalan data teragih. TiDB ialah pangkalan data NewSQL yang diedarkan yang disediakan oleh PingCAP Ia serasi sepenuhnya dengan protokol MySQL, diedarkan, sangat tersedia, dan boleh berskala Ia digunakan secara meluas dalam Internet, kewangan, e-dagang dan bidang lain.
Dalam proses menggunakan TiDB, Golang ialah bahasa pengaturcaraan yang biasa digunakan Ia menyediakan banyak perpustakaan pihak ketiga dan ciri sintaks ringkas Apabila digunakan bersama dengan TiDB, ia boleh melengkapkan pemprosesan data yang cekap dan boleh dipercayai tugasan. Artikel ini terutamanya memperkenalkan cara memanggil TiDB di Golang untuk rujukan pembangun.
Kerja penyediaan
Sebelum mula memanggil TiDB, anda perlu menyelesaikan kerja penyediaan berikut:
1 Pasang TiDB
Muat turun TiDB pada rasmi Pakej binari tapak web, hanya unzip ke direktori tempatan.
2. Cipta pangkalan data TiDB
Selepas memulakan TiDB secara tempatan, gunakan klien MySQL untuk menyambung ke TiDB Nama pengguna dan kata laluan lalai adalah root Selepas sambungan berjaya, gunakan pernyataan SQL untuk mencipta jadual ujian:
CREATE DATABASE test; USE test; CREATE TABLE user ( id INT(11) NOT NULL AUTO_INCREMENT, name VARCHAR(20) NOT NULL, age INT(3) NOT NULL, PRIMARY KEY (id) ); INSERT INTO user(name, age) VALUES('Tom', 20);
3. Pasang Golang
Muat turun pakej binari Golang di laman web rasmi dan pasangkannya mengikut dokumentasi rasmi. Selepas pemasangan selesai, tetapkan pembolehubah persekitaran dan uji sama ada pemasangan berjaya.
Tulis kod untuk memanggil TiDB
Selepas melengkapkan persediaan di atas, anda boleh menulis kod Golang untuk memanggil TiDB untuk pemprosesan data. Contoh kod disediakan di bawah untuk rujukan pembaca.
package main import ( "fmt" "database/sql" _ "github.com/go-sql-driver/mysql" ) func main() { // 定义连接字符串 connStr := fmt.Sprintf("%s:%s@tcp(%s:%d)/%s?charset=%s", "root", "", "127.0.0.1", 4000, "test", "utf8mb4") // 连接数据库 db, err := sql.Open("mysql", connStr) if err != nil { fmt.Printf("链接数据库失败: %s ", err) return } defer db.Close() // 查询数据 rows, err := db.Query("SELECT * FROM user") if err != nil { fmt.Printf("查询数据失败: %s ", 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.Printf("读取数据失败: %s ", err) continue } fmt.Printf("ID: %d, Name: %s, Age: %d ", id, name, age) } // 处理异常 if err := rows.Err(); err != nil { fmt.Printf("处理异常失败: %s ", err) return } }
Merujuk kepada kod di atas, kita dapat melihat langkah khusus untuk memanggil TiDB dalam Golang:
1 Tentukan rentetan sambungan
Sebelum menyambung ke TiDB, kita perlu untuk pertama Tentukan rentetan sambungan. Ini termasuk nama pengguna, kata laluan, nama hos, nombor port, nama pangkalan data, set aksara dan maklumat lain. Terdapat perkara berikut yang perlu diperhatikan tentang TiDB:
2. Sambung ke pangkalan data
Selepas menentukan rentetan sambungan, anda boleh menggunakan fungsi sql.Open untuk menyambung ke pangkalan data. Fungsi ini mengembalikan objek sql.DB yang mewakili kumpulan sambungan pangkalan data. Perlu diingatkan bahawa kumpulan sambungan di sini diuruskan secara automatik apabila digunakan, dan pembangun tidak perlu memanggil kaedah Tutup secara eksplisit untuk menutup sambungan.
3. Data pertanyaan
Selepas sambungan berjaya, anda boleh menggunakan fungsi db.Query untuk melaksanakan pernyataan SQL, mengambil data pertanyaan sebagai contoh. Fungsi ini mengembalikan objek sql.Rows yang mewakili set hasil pertanyaan. Perlu diingatkan bahawa set hasil pertanyaan juga merupakan kumpulan sambungan, dan pembangun tidak perlu memanggil kaedah Tutup secara eksplisit.
4. Gelung untuk membaca data
Melalui baris di atas.Seterusnya() dan baris.Scan() berfungsi, setiap baris data boleh dibaca dalam gelung dan disimpan dalam pembolehubah. Fungsi rows.Next() di sini mewakili sama ada terdapat rekod seterusnya dan fungsi rows.Scan() mewakili membaca nilai lajur baris semasa.
5. Mengendalikan pengecualian
Dalam proses menggunakan TiDB, banyak pengecualian mungkin berlaku, seperti kegagalan sambungan, ralat pernyataan pertanyaan, kegagalan data bacaan gelung, dsb. Pengecualian ini perlu dikendalikan dalam masa, jika tidak, ia boleh menyebabkan ranap sistem dan masalah lain.
Ringkasan
Artikel ini terutamanya memperkenalkan cara memanggil TiDB untuk pemprosesan data di Golang. Melalui kod sampel di atas, kita dapat melihat bahawa TiDB boleh menyediakan perkhidmatan pemprosesan data teragih yang cekap dan boleh dipercayai, dan Golang, sebagai bahasa pengaturcaraan yang biasa digunakan, boleh meningkatkan kecekapan pembangunan dengan ketara apabila digunakan bersama dengan TiDB. Saya harap artikel ini akan membantu kebanyakan pembangun.
Atas ialah kandungan terperinci Cara memanggil Golang TiDB. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!