Go에서 기본 SQL 쿼리를 실행하는 방법: 필요한 패키지(예: 데이터베이스/sql 및 데이터베이스 드라이버)를 가져옵니다. 데이터베이스 연결을 엽니다. db.Prepare 메서드를 사용하여 SQL 문을 준비합니다. stmt.Query 메서드를 사용하여 쿼리를 수행하고 동적 값을 제공합니다. 행.다음 및 행.스캔을 사용하여 쿼리 결과를 반복합니다. 리소스를 해제하려면 데이터베이스 연결을 닫습니다.
Golang에서 기본 SQL 쿼리를 실행하는 방법은 무엇입니까?
Golang은 기본 SQL 쿼리를 사용하여 관계형 데이터베이스와 상호 작용할 수 있는 강력한 SQL 데이터베이스 패키지를 제공합니다. 이 튜토리얼에서는 Golang을 사용하여 기본 SQL 쿼리를 실행하는 방법을 안내하고 실제 예제를 제공합니다.
필요한 패키지 가져오기
먼저 필요한 패키지를 가져와야 합니다.
import ( "database/sql" _ "github.com/go-sql-driver/mysql" // MySQL 驱动程序 )
참고: 데이터베이스마다 자체 드라이버가 필요합니다. 지원되는 드라이버 목록은 [godoc](https://godoc.org/database/sql/driver)를 참조하세요.
데이터베이스 연결 열기
다음으로 데이터베이스 연결을 엽니다.
db, err := sql.Open("mysql", "user:password@tcp(host:port)/database") if err != nil { log.Fatal(err) }
user
, password
, host
를 추가하세요. , port 및 database
를 해당 값으로 바꿉니다. user
, password
, host
, port
和database
替换为相应的值。
准备 SQL 语句
要准备 SQL 查询,请使用 Prepare
方法:
stmt, err := db.Prepare("SELECT * FROM users WHERE name = ?") if err != nil { log.Fatal(err) }
这将创建一个预编译的 SQL 语句,用于稍后执行。?
占位符表示将在执行期间替换的动态值。
执行 SQL 查询
要使用指定的动态值执行查询,请使用 Query
方法:
rows, err := stmt.Query("John") if err != nil { log.Fatal(err) }
这将返回一个 Rows
对象,它包含查询结果。
处理查询结果
要遍历查询结果,请使用 Scan
SQL 문 준비
SQL 쿼리를 준비하려면Prepare
메서드를 사용하세요. for rows.Next() { var id int var name string if err := rows.Scan(&id, &name); err != nil { log.Fatal(err) } fmt.Printf("ID: %d, Name: %s\n", id, name) }이렇게 하면 나중에 실행할 수 있도록 미리 컴파일된 SQL 문이 생성됩니다.
?
자리 표시자는 실행 중에 대체될 동적 값을 나타냅니다. SQL 쿼리 실행
지정된 동적 값으로 쿼리를 실행하려면Query
메서드를 사용하세요. 🎜db.Close()🎜이렇게 하면 쿼리가 포함된
Rows
개체가 반환됩니다. 결과. 🎜🎜🎜쿼리 결과 처리🎜🎜🎜쿼리 결과를 반복하려면 Scan
메서드를 사용하세요. 🎜package main import ( "database/sql" "fmt" _ "github.com/go-sql-driver/mysql" // MySQL 驱动程序 ) func main() { db, err := sql.Open("mysql", "user:password@tcp(host:port)/database") if err != nil { log.Fatal(err) } defer db.Close() stmt, err := db.Prepare("INSERT INTO users (name) VALUES (?)") if err != nil { log.Fatal(err) } _, err = stmt.Exec("Jane") if err != nil { log.Fatal(err) } stmt, err = db.Prepare("SELECT * FROM users WHERE name = ?") if err != nil { log.Fatal(err) } rows, err := stmt.Query("Jane") if err != nil { log.Fatal(err) } for rows.Next() { var id int var name string if err := rows.Scan(&id, &name); err != nil { log.Fatal(err) } fmt.Printf("ID: %d, Name: %s\n", id, name) } }🎜🎜데이터베이스 연결을 닫습니다. 🎜🎜🎜마지막으로 데이터베이스 연결을 닫아 리소스를 해제합니다. 🎜 rrreee🎜🎜연습 사례 🎜🎜🎜다음은 데이터베이스에 레코드를 삽입하고 얻는 방법을 보여주는 실제 사례입니다. 🎜rrreee
위 내용은 Golang을 사용하여 기본 SQL 쿼리를 실행하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!