ホームページ  >  記事  >  バックエンド開発  >  golang の追加、削除、変更、クエリ

golang の追加、削除、変更、クエリ

WBOY
WBOYオリジナル
2023-05-15 09:50:06657ブラウズ

Golang は、ネットワーク プログラミング、システム プログラミング、データ処理などの分野で広く使用されている効率的なプログラミング言語です。 Golang では、CRUD 操作の実装は非常に一般的なタスクです。この記事では、Golang を使用して CRUD 操作を実装する方法を紹介します。

1. データベース接続

Golang でデータベースに接続するには、通常、サードパーティのライブラリが使用されます。より一般的に使用されるのは gorm と sqlx です。この記事では例として gorm を使用します。

まず、gorm ライブラリをインストールする必要があります:

go get -u github.com/jinzhu/gorm

次に gorm ライブラリを導入します。コードに次のように入力します:

import (
  "github.com/jinzhu/gorm"
  _ "github.com/jinzhu/gorm/dialects/mysql"
  )

次に、データベースに接続します:

db, err := gorm.Open("mysql", "root:password@tcp(127.0.0.1:3306)/testdb?charset=utf8mb4&parseTime=True&loc=Local")
defer db.Close()

このうち、root はユーザー名を表し、password はパスワードを表し、tcp (127.0.0.1:3306) は IP アドレスを表しますおよび接続のポート番号。testdb は接続されたデータベースの目的の名前を表します。 charset は文字セットを表し、parseTime は時間型フィールドを解析するかどうかを表し、loc はタイムゾーンを表します。

2. データの追加

gorm では、作成と保存という 2 つのデータ追加方法が提供されており、どちらも構造体を使用して操作できます。

// 使用create方式
db.Create(&User{Name: "Alice", Age: 18})

// 使用save方式
user := &User{Name: "Bob", Age: 20}
db.Save(user)

3. クエリデータ

gorm は、Find、First、Last、Where などのさまざまなクエリ文を提供しており、これらのメソッドにより、非常に便利にクエリ機能を実現できます。

// 查询全部数据
var users []User
db.Find(&users)

// 查询单条数据
var user User
db.First(&user, "id = ?", 1)

// 条件查询
var users []User
db.Where("age > ?", 18).Find(&users)

// 分页查询
var users []User
db.Where("age > ?", 18).Offset(0).Limit(10).Find(&users)

このうち、Offset はどのレコードからクエリを開始するかを示し、Limit はクエリを実行するレコードの数を示します。

4. データの更新

gorm では、save と update という 2 つの方法でデータを更新できますが、2 つの方法の違いは、save は構造全体を更新するのに対し、update はデータのみを更新することです。指定されたフィールドを更新します。

// 使用save方式
user := &User{Name: "Alice", Age: 18}
db.Save(user)

// 使用update方式
db.Model(&User{}).Where("id = ?", 1).Update("name", "Bob")

5. データの削除

gorm は、削除操作用の Delete メソッドを提供し、構造体または条件式の受け渡しをサポートします。

// 删除指定ID的数据
db.Delete(&User{}, 1)

// 根据条件删除数据
db.Where("age < ?", 18).Delete(&User{})

6. まとめ

gorm を使用すると、Golang で CRUD 操作を簡単に実装できますので、この記事の紹介により、読者は gorm の基本的な使い方を簡単にマスターできると思います。実際の開発では、コードをより効率的で保守しやすくするために、ビジネス ニーズに基づいて対応する改善と最適化を行う必要があります。

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

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