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