インターネットの発展に伴い、データ量は増加の一途をたどり、データベースもデータを保存する重要なツールとして活用され続けています。中でも、MySQL データベースは、オープンソースであること、使いやすさ、優れたパフォーマンスの利点により、広く使用されています。この記事では、Go 言語を使用して MySQL データベースでデータ クエリとフィルタリングを実行する方法を説明します。
1. Go 言語と MySQL ドライバーをインストールする
まず、MySQL データベースに接続し、プログラム内でデータ クエリとフィルター処理を実行するために、Go 言語と MySQL ドライバーをインストールする必要があります。具体的な手順は次のとおりです:
1. Go 言語のインストール
公式 Web サイト (https://golang.org/dl/) にアクセスして、Go 言語のインストール パッケージをダウンロードします。オペレーティング システムをインストールし、インストール後に環境変数を設定します。
2. MySQL ドライバーをインストールします
コマンド ラインで次のコマンドを使用して、MySQL ドライバーをインストールします: go get -u github.com/go-sql-driver/mysql
##MySQL データベースへの接続
#Go 言語で MySQL データベースに接続するには、Go 言語のデータベース/SQL ライブラリを使用し、MySQL ドライバーを使用してデータベースに接続する必要があります。 MySQL データベースに接続するコードは次のとおりです。import ( "database/sql" _ "github.com/go-sql-driver/mysql" ) db, err := sql.Open("mysql", "user:password@tcp(localhost)/dbname") if err != nil { log.Fatal(err) } defer db.Close()このうち、
user と
password は MySQL データベースのユーザー名とパスワード、
localhost です。 は MySQL データベースが配置されているサーバーの IP アドレスまたはドメイン名、
dbname は接続するデータベースの名前です。
user という名前のテーブル内のすべてのデータをクエリします。 ## <pre class='brush:sql;toolbar:false;'>rows, err := db.Query("SELECT * FROM user")</pre>
2. 条件付きクエリ
user# に
id、
name、
age## があると仮定します。 ## テーブル #3 つのフィールドで、age
フィールドの値に基づいて 18 歳以上のすべてのユーザーの情報をクエリします。 <pre class='brush:sql;toolbar:false;'>rows, err := db.Query("SELECT id, name FROM user WHERE age > ?", 18)</pre>
その中で、?
はプレースホルダーであり、次のことを示します。次の 18 がそれを置き換えます。このステートメントは、
テーブル内の 18 歳以上のユーザーの ID フィールドと名前フィールドをクエリします。 3. ファジー クエリ
テーブル内の姓 Zhang を持つすべてのユーザー情報をクエリしたいとします。次のステートメントを使用できます。
rows, err := db.Query("SELECT * FROM user WHERE name LIKE ?", "Zhang%")
このうち、%
ワイルドカードは任意の文字と一致することを意味し、
は姓 Zhang のユーザー情報を意味します。 4. クエリの並べ替え
クエリ結果は、次のステートメントによって並べ替えることができます:
rows, err := db.Query("SELECT id, name FROM user ORDER BY age DESC")
このステートメントは、ユーザーの年齢を最年長から最年少の順に並べ替えます。
4. クエリ結果の処理
クエリ操作は
sql.Rowsタイプの結果セットを返し、
Scan メソッドを使用する必要があります。クエリ結果を行ごとに読み取ります。以下は、クエリ結果を読み取るためのサンプル コードです。 <pre class='brush:sql;toolbar:false;'>for rows.Next() {
var id int
var name string
var age int
err = rows.Scan(&id, &name, &age)
if err != nil {
log.Fatal(err)
}
fmt.Printf("ID: %d, Name: %s, Age: %d
", id, name, age)
}</pre>
ここで、id
、
、age
はそれぞれテーブル フィールドの 3 つです。 。 rows.Scan
メソッドを通じて各行のデータを読み取り、関連する処理を実行します。 5. 概要
この記事では、Go 言語を使用して MySQL データベース内のデータをクエリおよびフィルターする方法を紹介します。 Go 言語のデータベース/SQL ライブラリと MySQL ドライバーを介して、MySQL データベースに簡単に接続し、データ クエリ操作を実行し、クエリ結果を処理できます。実際のアプリケーションでは、特定のニーズに応じてさまざまなクエリ フィルタリング方法を使用し、Go 言語の強力なパフォーマンスと組み合わせて、より良いデータ処理結果を達成できます。
以上がGo 言語を使用して MySQL データベース内のデータをクエリおよびフィルタリングする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。