Rumah  >  Artikel  >  pangkalan data  >  Pangkalan Data MySQL untuk Perniagaan Kecil: Pembangunan Pantas dengan Bahasa Go

Pangkalan Data MySQL untuk Perniagaan Kecil: Pembangunan Pantas dengan Bahasa Go

王林
王林asal
2023-06-17 19:49:431177semak imbas

Dengan populariti Internet, semakin banyak perniagaan kecil telah memulakan perniagaan dalam talian mereka sendiri. Jumlah data yang terlibat dalam perniagaan ini biasanya tidak terlalu besar, tetapi untuk perniagaan kecil, penyimpanan dan pemprosesan data masih menjadi isu yang sangat penting. Pangkalan data MySQL ialah salah satu pangkalan data paling popular yang digunakan pada masa ini untuk menyimpan dan memproses data, dan ia juga merupakan pilihan pertama untuk banyak perniagaan kecil. Artikel ini akan memperkenalkan cara menggunakan bahasa Go untuk membangunkan dan mengurus pangkalan data MySQL dengan cepat.

  1. Pasang pangkalan data MySQL

Sebelum menggunakan MySQL, kita perlu memasang MySQL terlebih dahulu. Anda boleh mencari versi yang sesuai untuk peranti anda di laman web rasmi MySQL dan memuat turun dan memasangnya mengikut keperluan anda. Selepas pemasangan selesai, beberapa konfigurasi asas diperlukan, termasuk menetapkan kata laluan pengguna root MySQL dan mencipta pengguna baharu dan memberikan kebenaran.

  1. Pasang bahasa Go

Bahasa Go ialah bahasa pengaturcaraan yang agak baharu yang digunakan secara meluas dalam pembangunan aplikasi Internet. Selepas memuat turun pakej pemasangan bahasa Go dari tapak web rasmi, ikut sahaja arahan untuk memasangnya. Selepas pemasangan selesai, anda perlu menetapkan pembolehubah persekitaran dan laluan GOPATH bagi bahasa Go.

  1. Pasang pustaka MySQL Go

Dalam bahasa Go, kita perlu menggunakan pustaka pihak ketiga untuk menyambung dan mengendalikan pangkalan data MySQL. Perpustakaan popular pada masa ini termasuk go-sql-driver/mysql dan jmoiron/sqlx. Untuk memasang perpustakaan ini, anda boleh menggunakan alat pengurusan pakej yang disertakan dengan bahasa Go: go get.

Pasang go-sql-driver/mysql:

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

Pasang jmoiron/sqlx:

go get -u github.com/jmoiron/sqlx
  1. Sambung ke pangkalan data MySQL

import (
    "database/sql"
    _ "github.com/go-sql-driver/mysql"
)

func main() {
    db, err := sql.Open("mysql", "root:123456@tcp(127.0.0.1:3306)/test?charset=utf8")
    if err != nil {
        log.Fatalln(err)
    }
    defer db.Close()

    // 测试连接
    if err := db.Ping(); err != nil {
        log.Fatalln(err)
    }

    // 进行操作
    // ...
}

Kod di atas melaksanakan sambungan ke pangkalan data MySQL dan sambungan ujian yang paling asas.

Selepas menyambung ke pangkalan data MySQL, kami boleh melakukan beberapa operasi pangkalan data biasa, seperti pertanyaan, sisipan dan kemas kini, dsb.

  1. Transaksi MySQL dalam bahasa Go

Dalam pangkalan data MySQL, transaksi boleh menjadi satu set pernyataan SQL, yang ditakrifkan sebagai unit operasi, yang boleh menjadi satu atau lebih banyak pernyataan, yang dilaksanakan secara keseluruhan. Dalam bahasa Go, kita boleh menggunakan fungsi Begin, Commit dan Rollback untuk melaksanakan transaksi:

func transactionTx() error {
    tx, err := db.Begin()
    if err != nil {
        return err
    }
    defer func() {
        if p := recover(); p != nil {
            tx.Rollback()  // 捕获错误回滚
        }
    }()
    stmt, err := tx.Prepare("INSERT INTO users(name, age) VALUES(?, ?)")
    if err != nil {
        return err
    }
    defer stmt.Close()
    _, err = stmt.Exec("user1", 20)
    if err != nil {
        return err
    }
    _, err = stmt.Exec("user2", 21)
    if err != nil {
        return err
    }
    err = tx.Commit()
    if err != nil {
        return err
    }
    return nil
}
  1. Gunakan sqlx untuk mengendalikan MySQL

Dalam pernyataan SQL bahasa Go, gunakan "?" untuk menggantikan nilai parameter tertentu, yang mungkin tidak sesuai apabila melaksanakan beberapa pernyataan SQL yang kompleks. Oleh itu, kita boleh menggunakan perpustakaan sqlx untuk melaksanakan MySQL untuk mengendalikan pangkalan data dengan lebih intuitif dan fleksibel.

sqlx tidak memerlukan penyediaan penyata SQL secara manual Ia menggunakan struktur dan medan struktur untuk menerangkan penyataan SQL dan parameter terikat. Contohnya:

type User struct {
    ID   int64  `db:"id"`
    Name string `db:"name"`
    Age  int    `db:"age"`
}

user := &User{Name: "Alice", Age: 25}
tx := db.MustBegin()
tx.NamedExec("INSERT INTO users (name, age) VALUES (:name, :age)", user)
tx.Commit()

Kod di atas menggunakan fungsi NamedExec sqlx untuk mengendalikan MySQL, dengan ":name" dan ":age" ialah nama parameter terikat dan pengguna ialah parameter yang diwakili oleh struktur .

  1. Gunakan rangka kerja ORM untuk pembangunan MySQL

Rangka kerja ORM (Object Relational Mapping) boleh membantu kami mengendalikan dan mengurus pangkalan data dengan lebih mudah serta mengurangkan kerja menulis secara manual pernyataan SQL. Dalam bahasa Go, rangka kerja ORM yang paling popular ialah GORM.

Sangat mudah untuk menggunakan GORM untuk mengendalikan MySQL Berikut adalah contoh membuat jadual pengguna Kodnya adalah seperti berikut:

import (
    "github.com/jinzhu/gorm"
    _ "github.com/jinzhu/gorm/dialects/mysql"
)

type User struct {
    gorm.Model
    Name string
    Age  int
}

func main() {
    db, err := gorm.Open("mysql", "root:123456@/test?charset=utf8&parseTime=True&loc=Local")
    if err != nil {
        panic(err)
    }
    defer db.Close()

    db.AutoMigrate(&User{})  // 自动创建user表

    // 添加新用户
    db.Create(&User{Name: "Alice", Age: 25})

    // 查询用户信息
    var user User
    db.Where("name = ?", "Alice").First(&user)
    fmt.Println(user)
}

Kami hanya perlu mentakrifkan struktur Pengguna untuk mewakili. jadual pengguna dalam pangkalan data Operasi seperti membuat jadual pangkalan data secara automatik, menambah pengguna baharu, dan menanya maklumat pengguna boleh dilaksanakan dalam kod.

Ringkasan

Artikel ini memperkenalkan cara menggunakan bahasa Go untuk membangunkan dan mengurus pangkalan data MySQL dengan cekap. Pertama, kita perlu memasang pangkalan data MySQL, bahasa Go dan perpustakaan yang berkaitan, kedua, menyambung ke MySQL dan melaksanakan operasi pangkalan data asas, akhirnya, kami memperkenalkan operasi khusus menggunakan rangka kerja sqlx dan ORM untuk pembangunan MySQL; Saya berharap artikel ini dapat memberi bantuan dan panduan kepada pelajar yang ingin menggunakan bahasa Go untuk pembangunan MySQL.

Atas ialah kandungan terperinci Pangkalan Data MySQL untuk Perniagaan Kecil: Pembangunan Pantas dengan Bahasa Go. 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