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 サイトの他の関連記事を参照してください。