ホームページ  >  記事  >  バックエンド開発  >  Go 言語データベース接続ガイド: データベース操作を実行するためのステップバイステップのガイド

Go 言語データベース接続ガイド: データベース操作を実行するためのステップバイステップのガイド

WBOY
WBOYオリジナル
2024-01-23 08:33:19436ブラウズ

Go 言語データベース接続ガイド: データベース操作を実行するためのステップバイステップのガイド

Go 言語は、簡潔で効率的で習得が簡単な、比較的初心者に優しいプログラミング言語です。開発者として、データベースに接続して操作することは、日常業務の重要な部分です。この記事では、Go 言語を使用してデータベースに接続する方法と、いくつかの具体的なコード例を示します。

まず、Go 言語のデータベース ドライバーをインポートする必要があります。現在、Go 言語は MySQL、SQLite、PostgreSQL などのさまざまなデータベースをサポートしています。ニーズに応じて適切なドライバーを選択できます。この記事では、MySQL を例として取り上げます。

まず、MySQL ドライバー パッケージを Go 言語プロジェクトにインポートする必要があります。 go.mod ファイルに次のコードを追加できます:

require github.com/go-sql-driver/mysql v1.7.0

次に、次のコードを通じて MySQL データベースとの接続を確立できます:

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

func main() {
    // 数据库连接信息
    username := "root"
    password := "123456"
    host := "127.0.0.1"
    port := "3306"
    database := "example"
    
    // 建立数据库连接
    connectionString := fmt.Sprintf("%s:%s@tcp(%s:%s)/%s?charset=utf8&parseTime=True&loc=Local",
        username, password, host, port, database)
    db, err := sql.Open("mysql", connectionString)
    if err != nil {
        log.Fatal(err)
    }

    defer db.Close()
}

上記のコードでは、次のコードを使用しました。 database/sql パッケージと github.com/go-sql-driver/mysql パッケージ。 sql.Open()この関数は、MySQL データベースとの接続を確立するために使用されます。最初のパラメータはドライバ名、2 番目のパラメータは接続文字列です。データベースへの接続時にエラーが発生した場合は、log.Fatal() 関数を使用してエラー メッセージを出力し、プログラムを終了します。

データベースへの接続が正常に確立されると、さまざまなデータベース操作を実行できるようになります。一般的なデータベース操作の例をいくつか示します。

  1. データのクエリ:
rows, err := db.Query("SELECT * FROM users")
if err != nil {
    log.Fatal(err)
}
defer rows.Close()

for rows.Next() {
    var id int
    var name string
    err := rows.Scan(&id, &name)
    if err != nil {
        log.Fatal(err)
    }
    fmt.Println(id, name)
}
  1. データの挿入:
stmt, err := db.Prepare("INSERT INTO users (name) VALUES (?)")
if err != nil {
    log.Fatal(err)
}
defer stmt.Close()

res, err := stmt.Exec("John")
if err != nil {
    log.Fatal(err)
}

lastID, err := res.LastInsertId()
if err != nil {
    log.Fatal(err)
}
fmt.Println("Inserted ID:", lastID)
  1. データの更新:
stmt, err := db.Prepare("UPDATE users SET name = ? WHERE id = ?")
if err != nil {
    log.Fatal(err)
}
defer stmt.Close()

res, err := stmt.Exec("John Doe", 1)
if err != nil {
    log.Fatal(err)
}

affectedRows, err := res.RowsAffected()
if err != nil {
    log.Fatal(err)
}
fmt.Println("Affected Rows:", affectedRows)
  1. データの削除:
stmt, err := db.Prepare("DELETE FROM users WHERE id = ?")
if err != nil {
    log.Fatal(err)
}
defer stmt.Close()

res, err := stmt.Exec(1)
if err != nil {
    log.Fatal(err)
}

affectedRows, err := res.RowsAffected()
if err != nil {
    log.Fatal(err)
}
fmt.Println("Affected Rows:", affectedRows)

上記のコードは、基本的なデータベース操作の例の一部です。実際の開発では、より複雑なクエリやトランザクション処理が必要になる場合があります。ただし、上記の例を通じて、Go 言語を使用してデータベースに接続し、いくつかの一般的なデータベース操作を実行する方法をすでに理解しました。

要約すると、この記事では、Go 言語を使用して MySQL データベースに接続する方法を詳細に紹介し、いくつかの具体的なコード例を示します。 Go 言語開発におけるデータベースへの接続と操作に役立つことを願っています。ご質問や混乱がある場合は、以下にメッセージを残していただければ、最善を尽くしてお答えいたします。楽しく学習して、エレガントで効率的な Go 言語コードを作成できることを願っています。

以上がGo 言語データベース接続ガイド: データベース操作を実行するためのステップバイステップのガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。