ホームページ >バックエンド開発 >Golang >Go言語でmysqlデータをクエリする方法

Go言語でmysqlデータをクエリする方法

PHPz
PHPzオリジナル
2023-03-22 14:23:561849ブラウズ

Golang は、他の言語と同様に、さまざまなデータベースと対話できる新興プログラミング言語です。この記事では、Golang の MySQL ドライバーを使用して MySQL データベースにクエリを実行する方法について説明します。

MySQL ドライバーを使用するには、次のコマンドを使用して Go プロジェクトにインストールする必要があります:

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

インストールが完了したら、Golang プロジェクトにインポートする必要があります。 :

import "github.com/go-sql-driver/mysql"

次に、MySQL データベースへの接続を確立する必要があります。 「mydatabase」という名前のデータベースに接続するサンプル コードを次に示します。

db, err := sql.Open("mysql", "user:password@tcp(localhost:3306)/mydatabase")
if err != nil {
    log.Fatal(err)
}
defer db.Close()

接続文字列では、MySQL サーバーのポート (デフォルトでは 3306) を指定していることに注意してください。

MySQL データベースへの接続を確立したら、データのクエリを開始できます。以下は、「users」という名前のテーブルからすべてのユーザーのレコードを取得する簡単なクエリの例です。

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
    var email string
    err = rows.Scan(&id, &name, &email)
    if err != nil {
        log.Fatal(err)
    }
    fmt.Println(id, name, email)
}

err = rows.Err()
if err != nil {
    log.Fatal(err)
}

上記の例では、db.Query 関数を使用して SQL クエリを実行しました。この関数は、クエリ結果のすべての行を含む Rows オブジェクトを返します。

次に、for ループを使用してすべての行を走査し、rows.Scan 関数を使用して列の値を行ごとに読み取ります。最後に、クエリ結果のエラーをチェックします。

もちろん、パラメータ化されたクエリを使用して、より安全にデータをクエリすることもできます。パラメータ化されたクエリは SQL インジェクション攻撃を防ぎます。以下は、パラメータ化されたクエリを使用して「john」という名前のユーザー レコードを取得するサンプル コード スニペットです:

rows, err := db.Query("SELECT * FROM users WHERE name = ?", "john")
if err != nil {
    log.Fatal(err)
}
defer rows.Close()

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

err = rows.Err()
if err != nil {
    log.Fatal(err)
}

上の例では、クエリ文字列で「?」プレースホルダを使用し、値を渡します。 Query関数のパラメータで一致させたい。

概要:

この記事では、Golang の MySQL ドライバーを使用して MySQL データベースにクエリを実行する方法を紹介します。 MySQL への接続を確立する方法、クエリを実行する方法、およびパラメータ化されたクエリを使用する方法を説明しました。これらの例は、Golang を使用して MySQL データベースと対話する方法について初心者に適した出発点となります。

以上がGo言語でmysqlデータをクエリする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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