Rumah > pembangunan bahagian belakang > Golang > Cara memanggil Golang TiDB

Cara memanggil Golang TiDB

WBOY
Lepaskan: 2023-05-13 10:24:07
asal
719 orang telah melayarinya

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);
Salin selepas log masuk

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
    }
}
Salin selepas log masuk

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:

  • TiDB adalah berdasarkan protokol MySQL dan menggunakan port 4000 secara lalai.
  • TiDB menyokong set aksara utf8mb4 dan utf8mb4_unicode_ci, dan utf8mb4 disyorkan.

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan