>백엔드 개발 >Golang >golang 추가, 삭제, 수정 및 쿼리

golang 추가, 삭제, 수정 및 쿼리

WBOY
WBOY원래의
2023-05-15 09:50:06706검색

Golang은 네트워크 프로그래밍, 시스템 프로그래밍, 데이터 처리 및 기타 분야에서 널리 사용되는 효율적인 프로그래밍 언어입니다. Golang에서 CRUD 작업을 구현하는 것은 매우 일반적인 작업입니다. 이 기사에서는 Golang을 사용하여 CRUD 작업을 구현하는 방법을 소개합니다.

1. 데이터베이스 연결

Golang에서는 일반적으로 타사 라이브러리를 사용하여 데이터베이스에 연결합니다. 이 기사에서는 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()

그중에서 루트는 사용자 이름을 나타내고, 비밀번호는 비밀번호, tcp (127.0.0.1:3306)는 연결의 IP 주소와 포트 번호를 나타내고, testdb는 연결될 데이터베이스의 이름을 나타냅니다. charset은 문자 집합을 나타내고,parseTime은 시간 유형 필드를 구문 분석할지 여부를 나타내며,loc는 시간대를 나타냅니다.

2. 데이터 추가

gorm은 데이터를 추가하는 두 가지 방법, 즉 생성 및 저장을 제공하며 둘 다 구조를 사용하여 작동할 수 있습니다.

// 使用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方式
user := &User{Name: "Alice", Age: 18}
db.Save(user)

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

5. 데이터 삭제

gorm은 삭제 작업을 위한 삭제 메서드를 제공하고 구조 또는 조건식 전달을 지원합니다.

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

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

6. 요약

gorm을 사용하면 Golang에서 CRUD 작업을 쉽게 구현할 수 있습니다. 이 글의 소개를 통해 독자들은 gorm의 기본 사용법을 쉽게 익힐 수 있다고 믿습니다. 실제 개발에서는 코드를 보다 효율적이고 유지 관리하기 쉽게 만들기 위해 비즈니스 요구 사항을 기반으로 해당 개선 및 최적화가 이루어져야 합니다.

위 내용은 golang 추가, 삭제, 수정 및 쿼리의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:Golang 동기화 설정다음 기사:Golang 동기화 설정