Golang은 빠르고 효율적인 프로그래밍 언어로, 학습 곡선이 다른 언어보다 평평하고 동시성 성능이 매우 뛰어나 웹 개발 및 후처리 분야에서 매우 인기가 있기 때문에 점점 더 많은 프로그래머가 Golang을 사용하고 있습니다. .엔드엔드 개발 분야에서 폭넓게 활용되고 있습니다.
웹 애플리케이션을 개발할 때 데이터베이스 쿼리 작업을 수행하는 것은 불가피하며, 여기서 조건 쿼리는 매우 중요한 부분입니다. 이 글에서는 Golang을 사용하여 조건 쿼리를 수행하는 방법을 소개합니다.
1단계: 데이터베이스에 연결
조건부 쿼리를 수행하기 전에 먼저 데이터베이스에 연결해야 합니다. Golang에는 Gorm, sqlx, go-sql-driver 등 선택할 수 있는 다양한 오픈 소스 데이터베이스 드라이버가 있습니다. 이 기사에서는 조건부 쿼리를 수행하는 방법을 보여주기 위해 Gorm을 예로 사용합니다.
Gorm을 사용하여 데이터베이스에 연결하려면 다음 단계가 필요합니다.
명령줄을 사용하여 설치할 수 있습니다.
go get -u github.com/jinzhu/gorm
Import Gorm 패키지 후에 데이터베이스 드라이버 패키지를 가져와야 합니다. 예를 들어 Mysql 드라이버 패키지를 가져옵니다. 데이터베이스의 경우 데이터베이스 연결 정보를 제공해야 합니다. 예:
db, err := gorm.Open("mysql", "user:password@tcp(dbhost:port)/dbname?charset=utf8&parseTime=True&loc=Local ")
이 명령문은 사용자 이름, 비밀번호, 데이터베이스 호스트 및 포트 번호와 같은 정보를 포함하여 DB 개체를 생성하고 데이터베이스에 연결합니다. 문자 집합, 시간 형식 및 시간대와 같은 정보도 포함됩니다.
Where() 메서드는 지정된 조건을 충족하는 레코드를 필터링하는 데 사용됩니다. 예:
db.Where("age > ?", 18)
이 문은 다음과 같은 레코드를 반환합니다. 나이는 18세 이상입니다.
Not() 메서드는 지정된 조건을 충족하지 않는 레코드를 필터링하는 데 사용됩니다. 예:
db.Not("age > ?", 18)
이 문은 다음과 같습니다. 나이가 Records = 18보다 작은 항목을 반환합니다.
Or() 메서드 및 And() 메서드는 다음과 같은 복잡한 쿼리 조건을 작성하는 데 사용됩니다.
db.Where("age > ?", 18) .Or("weight > ?", 60)
이 문은 나이가 18보다 크거나 체중이 60보다 큰 레코드를 반환합니다.
위 메소드 외에도 Gorm은 데이터베이스에서 데이터를 얻는 데 사용할 수 있는 Find(), First() 및 Last() 등과 같은 다른 메소드도 제공합니다.
3단계: 쿼리 실행
쿼리 조건을 작성한 후 쿼리 문을 실행하여 데이터베이스에서 데이터를 가져와야 합니다. Gorm의 쿼리 메서드도 매우 다양하며 쿼리 결과가 기대에 부합하는지 확인하기 위해 Find(), First(), Last() 및 Count()와 같은 메서드를 제공합니다.
Find() 메서드Find() 메서드는 데이터베이스에서 조건을 충족하는 모든 레코드를 가져올 수 있습니다. 예:
var users []User
db.Where("age > ?", 18) .Find (&users)이 명령문은 나이가 18세 이상인 모든 사용자 정보를 반환하고 이를 사용자 변수에 저장합니다.
var user User
이 명령문은 마지막 사용자의 정보를 반환하여 사용자 변수에 저장합니다.
Count() 메서드
var count int
위 내용은 golang 조건부 쿼리의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!