golang은 효율적인 가비지 수집 메커니즘과 빠른 컴파일 속도로 동시 프로그래밍을 지원하는 프로그래밍 언어입니다. golang을 사용하여 웹 애플리케이션을 작성할 때 MySQL 데이터베이스와 상호 작용해야 하는 경우가 많습니다. 이 기사에서는 golang을 사용하여 mysql을 쿼리하고 결과를 변수에 할당하는 방법을 소개합니다.
먼저 golang의 MySQL 드라이버를 설치해야 합니다. 현재 일반적으로 사용되는 MySQL 드라이버에는 go-sql-driver와 mysql이라는 두 가지가 있습니다. 이번 글에서는 go-sql-driver를 사용하겠습니다.
go-sql-driver를 설치하려면 다음 명령을 사용할 수 있습니다.
go get -u github.com/go-sql-driver/mysql
설치가 완료된 후 코드에서 mysql 패키지를 가져옵니다.
import ( "database/sql" "fmt" _ "github.com/go-sql-driver/mysql" )
다음으로 데이터베이스와의 연결을 설정해야 합니다. Open 함수를 사용하여 데이터베이스에 대한 연결을 열고 Close 함수를 사용하여 연결을 닫을 수 있습니다. 연결을 열 때 데이터베이스 연결 주소, 사용자 이름, 비밀번호 및 데이터베이스 이름을 지정해야 합니다.
db, err := sql.Open("mysql", "user:password@tcp(127.0.0.1:3306)/mydb") if err != nil { panic(err.Error()) } defer db.Close()
다음으로 Query 함수를 사용하여 데이터베이스에 쿼리하고 쿼리 결과를 변수에 할당할 수 있습니다. Query 함수는 쿼리 결과의 모든 행을 포함하는 Rows 유형의 개체를 반환합니다. Rows 개체는 Next, Scan 및 Columns와 같은 쿼리 결과를 탐색하는 여러 가지 방법을 제공합니다.
var name string var age int err = db.QueryRow("SELECT name, age FROM users WHERE id = ?", 1).Scan(&name, &age) if err != nil { panic(err.Error()) }
위 코드에서는 QueryRow 함수를 사용하여 데이터베이스를 쿼리합니다. QueryRow 함수는 일치하는 모든 행이 아닌 데이터 행을 반환합니다. Scan 함수는 쿼리 결과의 각 열 값을 방금 선언한 변수 name 및 age에 할당합니다.
마지막으로 fmt 패키지를 사용하여 할당 결과를 콘솔에 출력할 수 있습니다.
fmt.Printf("Name: %s Age: %d ", name, age)
전체 코드는 다음과 같습니다.
package main import ( "database/sql" "fmt" _ "github.com/go-sql-driver/mysql" ) func main() { db, err := sql.Open("mysql", "user:password@tcp(127.0.0.1:3306)/mydb") if err != nil { panic(err.Error()) } defer db.Close() var name string var age int err = db.QueryRow("SELECT name, age FROM users WHERE id = ?", 1).Scan(&name, &age) if err != nil { panic(err.Error()) } fmt.Printf("Name: %s Age: %d ", name, age) }
위는 golang을 사용하여 mysql에 쿼리하고 그 결과를 변수에 할당하는 방법입니다. 이 기술에 능숙해지면 개발자는 데이터베이스 쿼리 작업을 보다 쉽게 처리하고 웹 애플리케이션의 효율성과 성능을 향상시킬 수 있습니다.
위 내용은 golang 쿼리 mysql 할당의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!