Golang은 대량의 데이터를 처리하고 높은 동시성 성능을 발휘하는 데 탁월한 프로그래밍 언어로 점점 인기를 얻고 있습니다. 동시에 인기 있는 관계형 데이터베이스 시스템인 MySQL은 Golang과 매우 호환됩니다. 이 기사에서는 Golang에서 MySQL 쿼리를 실행하는 방법을 살펴보겠습니다.
Golang을 사용하여 MySQL을 쿼리하기 전에 먼저 MySQL 드라이버를 설치해야 합니다. Golang에서 가장 일반적으로 사용되는 MySQL 드라이버는 "mysql"이며 다음 명령을 통해 설치할 수 있습니다.
go get -u github.com/go-sql-driver/mysql
이 명령은 Golang 환경에 mysql 드라이버를 설치합니다.
MySQL 쿼리를 수행하기 전에 먼저 데이터베이스와의 연결을 설정해야 합니다. 다음 코드를 사용하여 MySQL 데이터베이스에 대한 연결을 설정할 수 있습니다.
import ( "database/sql" _ "github.com/go-sql-driver/mysql" ) func main() { db, err := sql.Open("mysql", "user:password@tcp(127.0.0.1:3306)/database") if err != nil { panic(err.Error()) } defer db.Close() }
위 코드에서는 "sql.Open" 함수를 사용하여 다음 매개변수와 함께 Golang에서 MySQL 데이터베이스를 엽니다.
두 번째 매개변수: "username:password@tcp(host:port)/database_name"
실행 후 쿼리의 경우 연결을 닫으려면 "db.Close()" 문도 전달해야 합니다.
연결이 설정된 후 Golang을 사용하여 MySQL 쿼리를 실행할 수 있습니다. 다음은 SELECT 쿼리 문을 실행하는 간단한 샘플 코드입니다.
rows, err := db.Query("SELECT name, age FROM users WHERE age > ?", 20) if err != nil { panic(err.Error()) } defer rows.Close() for rows.Next() { var name string var age int err = rows.Scan(&name, &age) if err != nil { panic(err.Error()) } fmt.Println(name, age) }
Golang에서 INSERT, UPDATE, DELETE 등의 연산을 실행하는 것은 기본적으로 SELECT 연산을 실행하는 것과 같습니다. 다음은 샘플 코드입니다.
result, err := db.Exec("INSERT INTO users (name, age) VALUES (?, ?)", "John", 25) if err != nil { panic(err.Error()) } lastInsertId, _ := result.LastInsertId() rowsAffected, _ := result.RowsAffected() fmt.Printf("LastInsertId: %d, RowsAffected: %d ", lastInsertId, rowsAffected)
Golang에서는 준비된 문을 사용하여 MySQL 쿼리를 실행할 수 있습니다. 준비된 문은 여러 개의 동일한 쿼리 문을 실행할 때 MySQL 서버가 동일한 쿼리 문을 캐시하여 SQL 문을 컴파일하는 오버헤드를 줄일 수 있으므로 쿼리 성능을 향상시킬 수 있습니다. 다음은 준비된 문을 사용하는 예입니다.
stmt, err := db.Prepare("SELECT name, age FROM users WHERE age > ?") if err != nil { panic(err.Error()) } defer stmt.Close() rows, err := stmt.Query(20) if err != nil { panic(err.Error()) } defer rows.Close() for rows.Next() { var name string var age int err = rows.Scan(&name, &age) if err != nil { panic(err.Error()) } fmt.Println(name, age) }
결론
이 글에서는 Golang에서 MySQL 쿼리를 실행하는 방법을 살펴보았습니다. 기본 연결 방법과 구문을 이해한 후에는 Golang을 사용하여 MySQL 데이터베이스를 쿼리하고 모범 사례를 사용하여 쿼리 보안을 보장할 수 있습니다. MySQL 쿼리에 Golang을 사용할 때는 항상 보안 문제를 염두에 두십시오.
위 내용은 golang mysql 쿼리의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!