Golang は、大量のデータの処理と高い同時実行パフォーマンスに優れたプログラミング言語として人気が高まっています。同時に、MySQL は一般的なリレーショナル データベース システムとして、Golang と非常に互換性があります。この記事では、Golang で MySQL クエリを実行する方法を説明します。
Golang を使用して MySQL にクエリを実行する前に、まず MySQL ドライバーをインストールする必要があります。 Golang で最も一般的に使用される MySQL ドライバーは「mysql」で、次のコマンドでインストールできます。
go get -u github.com/go-sql-driver/mysql
このコマンドは、Golang 環境に mysql ドライバーをインストールします。
MySQL クエリを実行する前に、まずデータベースとの接続を確立する必要があります。次のコードを使用して、MySQL データベースへの接続を確立できます:
import ( "database/sql" _ "github.com/go-sql-driver/mysql" ) func main() { db, err := sql.Open("mysql", "user:password@tcp(127.0.0.1:3306)/database") if err != nil { panic(err.Error()) } defer db.Close() }
上記のコードでは、「sql.Open」関数を使用して、次のパラメータを指定して Golang から MySQL データベースを開きます:
2 番目のパラメータ: MySQL データベースの接続情報を指定します。形式は「username:」です。 password@tcp(host :port)/database_name"
クエリを実行した後、閉じる必要があります。 「db.Close()」ステートメントによる接続。
接続を確立した後、Golang を使用して MySQL クエリを実行できます。以下は、SELECT クエリ ステートメントを実行する簡単なサンプル コードです。
rows, err := db.Query("SELECT name, age FROM users WHERE age > ?", 20) if err != nil { panic(err.Error()) } defer rows.Close() for rows.Next() { var name string var age int err = rows.Scan(&name, &age) if err != nil { panic(err.Error()) } fmt.Println(name, age) }
result, err := db.Exec("INSERT INTO users (name, age) VALUES (?, ?)", "John", 25) if err != nil { panic(err.Error()) } lastInsertId, _ := result.LastInsertId() rowsAffected, _ := result.RowsAffected() fmt.Printf("LastInsertId: %d, RowsAffected: %d ", lastInsertId, rowsAffected)
stmt, err := db.Prepare("SELECT name, age FROM users WHERE age > ?") if err != nil { panic(err.Error()) } defer stmt.Close() rows, err := stmt.Query(20) if err != nil { panic(err.Error()) } defer rows.Close() for rows.Next() { var name string var age int err = rows.Scan(&name, &age) if err != nil { panic(err.Error()) } fmt.Println(name, age) }
以上がgolangのmysqlクエリの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。