データ量が増加し続けるにつれて、MySQL データベースは最新のアプリケーション開発で最も一般的に使用されるデータベースの 1 つになりました。アプリケーションでは、データ処理ではデータの走査と操作が必要になることが多く、これには効率的なプログラミング言語の使用が必要です。 Golang は、高速、シンプル、信頼性の高いオープンソース プログラミング言語として、アプリケーションを作成するためにますます多くの開発者に選ばれています。
この記事では、Golang が MySQL データベースをどのように横断するのか、および関連するコードの実装について紹介します。
1. MySQL データベースへの接続
MySQL データベースの探索を開始する前に、まず MySQL データベースに接続する必要があります。 Golang は、MySQL データベースへの接続を容易にするために、この目的のために、database/sql パッケージを提供します。まず、このパッケージを導入する必要があります:
import ( "database/sql" "fmt" _ "github.com/go-sql-driver/mysql" )
MySQL データベースに接続するには、データベース接続アドレス、データベース名、アカウント番号、パスワード、その他の情報を指定する必要があります。サンプルコードは以下のとおりです。
db, err := sql.Open("mysql", "user:password@tcp(127.0.0.1:3306)/database_name") if err != nil { fmt.Println("连接数据库出错:", err) return } defer db.Close()
このうち、ドライバ名は「mysql」、接続アドレスは「127.0.0.1:3306」、データベース名は「database_name」、アカウントとパスワードは以下の通りです。 「ユーザー」と「パスワード」です。
データベースに接続した後、関数の最後でデータベース接続を閉じる必要があります。これは、上記のコードに示すように、defer ステートメントを通じて実現できます。
2. データのクエリ
MySQL データベースに接続した後、データベースにクエリを実行できます。 Golang では、クエリ操作を実行する方法が 2 つあります。1 つは単一行クエリに query 関数を使用する方法、もう 1 つは複数行クエリに queryRows 関数を使用する方法です。
row := db.QueryRow("SELECT * FROM table_name WHERE id=?", 1) if err != nil { fmt.Println("查询出错:", err) return } var id int var name string var age int var address string err = row.Scan(&id, &name, &age, &address) if err != nil { fmt.Println("查询结果获取失败:", err) return } fmt.Println(id, name, age, address)
rows, err := db.Query("SELECT * FROM table_name WHERE age > ?", 18) if err != nil { fmt.Println("查询出错:", err) return } defer rows.Close() for rows.Next() { var id int var name string var age int var address string err = rows.Scan(&id, &name, &age, &address) if err != nil { fmt.Println("查询结果获取失败:", err) return } fmt.Println(id, name, age, address) }
rows, err := db.Query("SELECT * FROM table_name") if err != nil { fmt.Println("查询出错:", err) return } defer rows.Close() for rows.Next() { var id int var name string var age int var address string err = rows.Scan(&id, &name, &age, &address) if err != nil { fmt.Println("查询结果获取失败:", err) return } fmt.Println(id, name, age, address) // 在此处可以对获取到的数据进行处理 }
以上がgolang が mysql をトラバースする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。