ホームページ  >  記事  >  バックエンド開発  >  golangの条件付きクエリ

golangの条件付きクエリ

王林
王林オリジナル
2023-05-22 14:32:38493ブラウズ

Golang は高速で効率的なプログラミング言語です。他の言語に比べて学習曲線が平坦であり、並行性のパフォーマンスが非常に優れているため、現在、ますます多くのプログラマーがこの言語に注目しています。そのため、Web 開発で人気があります。バックエンド開発の分野で幅広い用途に使用できます。

Web アプリケーションを開発する場合、データベースのクエリ操作は避けられず、その中でも条件付きクエリは非常に重要です。この記事では、Golang を使用して条件付きクエリを実行する方法を紹介します。

ステップ 1: データベースに接続する

条件付きクエリを実行する前に、まずデータベースに接続する必要があります。 Golang には、Gorm、sqlx、go-sql-driver など、選択できるオープン ソース データベース ドライバーが多数あります。この記事では、条件付きクエリを実行する方法を示す例として Gorm を使用します。

Gorm を使用してデータベースに接続するには、次の手順が必要です:

  1. Gorm のインストール

コマンド ラインを使用してインストールできます:

go get -u github.com/jinzhu/gorm

  1. Gorm パッケージのインポート

Gorm パッケージをインポートした後、データベース ドライバー パッケージをインポートする必要がありますたとえば、Mysql ドライバー パッケージをインポートします。

import (

  "github.com/jinzhu/gorm"
  _ "github.com/jinzhu/gorm/dialects/mysql"

)

  1. データベースに接続します

接続時データベースに接続するには、データベース接続情報を提供する必要があります。例:

db, err := gorm.Open("mysql", "user:password@tcp(dbhost:port)/dbname?charset =utf8&parseTime=True&loc=Local")

このステートメントは DB を作成します。オブジェクトはデータベースに接続されます。これには、ユーザー名、パスワード、データベース ホスト、ポート番号などの情報のほか、次のような情報が含まれます。文字セット、時刻形式、タイムゾーン。

ステップ 2: クエリ条件を構築する

データベースに接続した後、クエリ条件を構築する必要があります。クエリ条件は重要な部分であり、データベースからどのようなデータを取得するかを指定します。 Gorm はチェーン メソッドを使用してクエリ条件を構築し、Where()、Not()、Or()、And() などの一般的に使用されるメソッドをいくつか提供します。

  1. Where() メソッド

Where() メソッドは、指定された条件を満たすレコードをフィルタリングするために使用されます。例:

db.Where( "age > ; ?", 18)

このステートメントは、年齢が 18 を超えるレコードを返します。

  1. Not() メソッド

Not() メソッドは、指定された条件を満たさないレコードをフィルタリングするために使用されます。例:

db .Not("age > ?", 18)

このステートメントは、年齢が 18 以下のレコードを返します。

  1. Or() メソッドと And() メソッド

Or() メソッドと And() メソッドは、次のような複雑なクエリ条件を構築するために使用されます。

db.Where("age > ?", 18).Or("weight > ?", 60)

このステートメントは、年齢が 18 より大きいか、重みがそれより大きいレコードを返します。 60以上。

db.Where("age > ?", 18).And("name = ?", "Tom")

このステートメントは、年齢が 18 より大きい人々を返します。彼の名前はトム・レコードです。

上記のメソッドに加えて、Gorm はデータベースからデータを取得するために使用できる Find()、First()、Last() などの他のメソッドも提供します。

ステップ 3: クエリを実行する

クエリ条件を作成したら、クエリ ステートメントを実行してデータベースからデータを取得する必要があります。 Gorm のクエリ メソッドも非常に多様で、クエリ結果が期待どおりであることを確認するための Find()、First()、Last()、Count() などのメソッドが提供されています。

    Find() メソッド
Find() メソッドは、データベースから条件を満たすすべてのレコードを取得できます。例:

var users []User

db.Where("age > ?", 18).Find(&users)

このステートメントは、年齢が 18 歳を超えるすべてのユーザー情報を返し、users 変数に保存します。 。

    First() メソッドと Last() メソッド
First() メソッドと Last() メソッドは、条件を満たす最初のレコードと最後のレコードを取得できます。データベース A レコードから、例:

var user User

db.Where("age > ?", 18).First(&user)

このステートメントはそれらを返します。年齢が 18 歳以上である最初のユーザー情報をユーザー変数に保存します。

var user User

db.Last(&user)

このステートメントは、最後のユーザーの情報を返し、それをユーザー変数に保存します。

    Count() メソッド
Count() メソッドは、指定された条件を満たすレコードの数をクエリするために使用されます。例:

var count int

db.Table("users").Where("age > ?", 18).Count(&count)

このステートメントは、年齢が 18 を超えるユーザーの数を返します。それを count 変数に格納します。

概要

条件付きクエリはデータベースの基本操作の 1 つで、これによりデータベースから本当に必要なデータを取得できます。 Golang 言語の Gorm ライブラリは、非常に豊富で柔軟なクエリ メソッドを提供しており、ニーズを満たすクエリ条件を簡単に構築できます。また、さまざまなクエリ操作 (Find()、First()、Last() など) も提供します。 Count() など) を使用して、クエリ結果が期待どおりであることを確認します。

以上がgolangの条件付きクエリの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。