Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Apakah sistem pangkalan data popular yang disokong dalam bahasa Go?

Apakah sistem pangkalan data popular yang disokong dalam bahasa Go?

WBOY
WBOYasal
2024-03-28 08:36:04399semak imbas

Apakah sistem pangkalan data popular yang disokong dalam bahasa Go?

Tajuk: Sistem pangkalan data popular dan contoh yang disokong dalam bahasa Go

Bahasa Go ialah bahasa pembangunan yang cekap dan ringkas, dan sokongannya untuk pangkalan data juga sangat meluas. Dalam bahasa Go, pembangun boleh mengendalikan pelbagai sistem pangkalan data popular dengan mudah, termasuk MySQL, PostgreSQL, MongoDB, dll. Artikel ini akan memperkenalkan beberapa sistem pangkalan data popular yang disokong dalam bahasa Go dan memberikan contoh kod yang sepadan untuk setiap pangkalan data.

1. MySQL

MySQL ialah sistem pangkalan data hubungan yang biasa digunakan boleh menyambung dan mengendalikan MySQL melalui perpustakaan pihak ketiga. Berikut ialah contoh kod ringkas yang menunjukkan cara menggunakan bahasa Go untuk menyambung ke pangkalan data MySQL dan data pertanyaan:

package main

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

func main() {
    db, err := sql.Open("mysql", "username:password@tcp(localhost:3306)/dbname")
    if err != nil {
        panic(err.Error())
    }
    defer db.Close()

    rows, err := db.Query("SELECT * FROM users")
    if err != nil {
        panic(err.Error())
    }

    defer rows.Close()

    for rows.Next() {
        var id int
        var name string
        err = rows.Scan(&id, &name)
        if err != nil {
            panic(err.Error())
        }
        fmt.Println(id, name)
    }
}

2 PostgreSQL

PostgreSQL ialah sistem pangkalan data hubungan sumber terbuka, dan bahasa Go juga menyediakan sokongan untuk PostgreSQL . Berikut ialah contoh kod mudah yang menunjukkan cara menggunakan bahasa Go untuk menyambung ke pangkalan data PostgreSQL dan memasukkan data:

package main

import (
    "database/sql"
    "fmt"
    _ "github.com/lib/pq"
)

func main() {
    db, err := sql.Open("postgres", "user=username password=password dbname=dbname sslmode=disable")
    if err != nil {
        panic(err.Error())
    }
    defer db.Close()

    _, err = db.Exec("INSERT INTO users (name) VALUES ('Alice')")
    if err != nil {
        panic(err.Error())
    }

    fmt.Println("Data inserted successfully")
}

3 MongoDB

MongoDB ialah sistem pangkalan data bukan perhubungan yang boleh melaksanakan MongoDB melalui pihak ketiga perpustakaan Berhubung dan beroperasi. Berikut ialah contoh kod ringkas yang menunjukkan cara menggunakan bahasa Go untuk menyambung ke pangkalan data MongoDB dan memasukkan data:

package main

import (
    "context"
    "fmt"
    "go.mongodb.org/mongo-driver/mongo"
    "go.mongodb.org/mongo-driver/mongo/options"
)

type User struct {
    Name string
    Age  int
}

func main() {
    clientOptions := options.Client().ApplyURI("mongodb://localhost:27017")
    client, err := mongo.Connect(context.Background(), clientOptions)
    if err != nil {
        panic(err.Error())
    }
    defer client.Disconnect(context.Background())

    collection := client.Database("mydb").Collection("users")

    user := User{Name: "Bob", Age: 30}
    _, err = collection.InsertOne(context.Background(), user)
    if err != nil {
        panic(err.Error())
    }

    fmt.Println("Data inserted successfully")
}

Di atas ialah beberapa sistem pangkalan data popular yang disokong dalam bahasa Go dan contoh kod yang sepadan. Pembangun boleh memilih sistem pangkalan data yang sesuai mengikut keperluan mereka sendiri dan dengan mudah melakukan operasi pangkalan data melalui bahasa Go.

Atas ialah kandungan terperinci Apakah sistem pangkalan data popular yang disokong dalam 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