ホームページ  >  記事  >  バックエンド開発  >  golangクエリmysql割り当て

golangクエリmysql割り当て

王林
王林オリジナル
2023-05-14 19:12:08510ブラウズ

Golang は、効率的なガベージ コレクション メカニズムと高速なコンパイル速度を備えた、同時プログラミングをサポートするプログラミング言語です。 golang を使用して Web アプリケーションを作成する場合、多くの場合、MySQL データベースと対話する必要があります。この記事では、golang を使用して mysql にクエリを実行し、結果を変数に代入する方法を紹介します。

まず、golang の MySQL ドライバーをインストールする必要があります。現在、一般的に使用されている MySQL ドライバーは go-sql-driver と mysql の 2 つです。この記事では go-sql-driver を使用します。

go-sql-driver をインストールするには、次のコマンドを使用できます:

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

インストールが完了したら、コードに mysql パッケージをインポートします:

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

Next 、データベース接続との接続を確立する必要があります。 Open 関数を使用してデータベースへの接続を開き、Close 関数を使用して接続を閉じることができます。接続を開くときは、データベース接続アドレス、ユーザー名、パスワード、データベース名を指定する必要があります。

db, err := sql.Open("mysql", "user:password@tcp(127.0.0.1:3306)/mydb")
if err != nil {
    panic(err.Error())
}
defer db.Close()

次に、Query 関数を使用してデータベースにクエリを実行し、クエリ結果を変数に割り当てることができます。 Query 関数は、クエリ結果のすべての行を含む Rows 型のオブジェクトを返します。 Rows オブジェクトには、Next、Scan、Columns など、クエリ結果を走査するための複数のメソッドが用意されています。

var name string
var age int
err = db.QueryRow("SELECT name, age FROM users WHERE id = ?", 1).Scan(&name, &age)
if err != nil {
    panic(err.Error())
}

上記のコードでは、QueryRow 関数を使用してデータベースにクエリを実行します。 QueryRow 関数は、一致するすべての行ではなく、データの行を返します。 Scan 関数は、クエリ結果の各列の値を、宣言されたばかりの変数名と年齢に割り当てます。

最後に、fmt パッケージを使用して割り当て結果をコンソールに出力できます。

fmt.Printf("Name: %s
Age: %d
", name, age)

完全なコードは次のとおりです:

package main

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

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

    var name string
    var age int
    err = db.QueryRow("SELECT name, age FROM users WHERE id = ?", 1).Scan(&name, &age)
    if err != nil {
        panic(err.Error())
    }

    fmt.Printf("Name: %s
Age: %d
", name, age)
}

上記は、golang を使用して mysql にクエリを実行し、結果を変数に割り当てる方法です。このテクノロジーに習熟することで、開発者はデータベース クエリ操作をより簡単に処理でき、Web アプリケーションの効率とパフォーマンスを向上させることができます。

以上がgolangクエリmysql割り当ての詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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