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 중국어 웹사이트의 기타 관련 기사를 참조하세요!