>백엔드 개발 >Golang >Go에서 SQL Server 사용: 전체 가이드

Go에서 SQL Server 사용: 전체 가이드

王林
王林원래의
2023-06-18 09:18:002986검색

엔터프라이즈 수준 애플리케이션이 널리 사용됨에 따라 SQL Server는 엔터프라이즈 수준 애플리케이션에서 가장 널리 사용되는 데이터베이스 중 하나가 되었습니다. 또한 Go 언어의 인기로 인해 점점 더 많은 개발자가 Go 언어로 SQL Server를 사용하기를 희망하고 있습니다. 이 기사에서는 데이터 연결, 쿼리, 읽기 및 쓰기 등에 대한 전체 가이드를 포함하여 Go 언어로 SQL Server를 사용하는 방법을 소개합니다.

SQL Server 데이터베이스에 연결

SQL Server 데이터베이스에 연결하려면 Microsoft에서 제공하는 SQL Server 드라이버(예: mssql)를 사용해야 합니다. 이 드라이버는 사용하기 매우 쉬우므로 설치해 보겠습니다.

SQL Server 드라이버 설치

mssql 드라이버를 설치하려면 터미널에서 다음 명령을 실행해야 합니다.

go get github.com/denisenkom/go-mssqldb

이 명령은 mssql 드라이버를 다운로드하고 설치합니다.

데이터베이스에 연결

드라이버가 설치되면 SQL Server 데이터베이스에 연결할 수 있습니다. 연결하려면 데이터베이스의 서버 주소, 데이터베이스 이름, 사용자 이름 및 비밀번호를 제공해야 합니다. 다음은 연결의 기본 예입니다.

package main

import (
    "database/sql"
    "fmt"
    _ "github.com/denisenkom/go-mssqldb"
)

func main() {
    server := "localhost\SQLEXPRESS"
    port := 1433
    user := "sa"
    password := "password123"
    database := "MyDatabase"

    connString := fmt.Sprintf("server=%s;user id=%s;password=%s;port=%d;database=%s;",
        server, user, password, port, database)
    db, err := sql.Open("mssql", connString)

    if err != nil {
        panic(err)
    }

    defer db.Close()

    // Connection successful. We can now start working with the database.
    fmt.Println("Connection successful.")
}

이 예에서는 데이터베이스의 서버 주소를 "localhostSQLEXPRESS"로, 포트를 1433으로, 사용자 이름을 sa, 비밀번호를 비밀번호 123, 데이터 이름을 다음과 같이 지정합니다. 내 데이터베이스. 연결 문자열은 "내 예제 연결 문자열" 형식으로 지정됩니다. 이 문자열을 사용하여 연결을 열고 연결 성공 후 간단한 확인 메시지를 제공합니다.

Query data

연결이 성공하면 SQL 명령을 사용하여 데이터베이스에서 데이터를 쿼리할 수 있습니다. db.Query()를 사용하여 쿼리 문을 실행하고rows.Scan()을 사용하여 쿼리 결과의 각 데이터 행을 스캔할 수 있습니다. 다음은 기본 쿼리 예입니다.

func main() {
    server := "localhost\SQLEXPRESS"
    port := 1433
    user := "sa"
    password := "password123"
    database := "MyDatabase"

    connString := fmt.Sprintf("server=%s;user id=%s;password=%s;port=%d;database=%s;",
        server, user, password, port, database)

    db, err := sql.Open("mssql", connString)
    if err != nil {
        panic(err)
    }

    defer db.Close()

    // Query the database.
    query := "SELECT Name, Email FROM Customers WHERE Country = 'USA'"
    rows, err := db.Query(query)

    if err != nil {
        panic(err)
    }

    defer rows.Close()

    // Scan the results.
    for rows.Next() {
        var name string
        var email string
        err = rows.Scan(&name, &email)

        if err != nil {
            panic(err)
        }

        fmt.Println(name, email)
    }
}

이 예에서는 MyDatabase 데이터베이스에 있는 "Customers"라는 테이블을 쿼리합니다. "국가"가 "USA"로 나열되어 있는 "이름" 및 "이메일"이라는 열이 있는 행만 선택했습니다.

쿼리를 실행하면 결과가 쿼리 변수에 저장됩니다. 그런 다음 db.Query()를 사용하여 쿼리를 실행합니다. Rows.Scan()을 사용하여 스캔한 결과 세트를 반환합니다. 마지막으로 반환된 결과를 반복하고 각 행의 데이터를 인쇄합니다.

데이터 쓰기

Go 언어로 SQL Server를 사용할 때 새 데이터를 쓰는 것은 데이터를 읽는 것과 매우 유사합니다. 데이터를 쓰려면 db.Exec()을 사용하여 INSERT, UPDATE 또는 DELETE 문을 실행하기만 하면 됩니다. 다음은 기본 쓰기 예입니다.

func main() {
    server := "localhost\SQLEXPRESS"
    port := 1433
    user := "sa"
    password := "password123"
    database := "MyDatabase"

    connString := fmt.Sprintf("server=%s;user id=%s;password=%s;port=%d;database=%s;",
        server, user, password, port, database)

    db, err := sql.Open("mssql", connString)
    if err != nil {
        panic(err)
    }

    defer db.Close()

    // Insert a new row.
    statement := "INSERT INTO Customers (Name, Email, Country) VALUES (?, ?, ?)"
    result, err := db.Exec(statement, "John Doe", "johndoe@example.com", "USA")

    if err != nil {
        panic(err)
    }

    rowsAffected, err := result.RowsAffected()
    if err != nil {
        panic(err)
    }

    // Write successful. Display the number of rows affected.
    fmt.Printf("%d rows affected.
", rowsAffected)
}

이 예에서는 INSERT 문을 실행하여 "Customers"라는 테이블에 데이터 행을 삽입합니다. 이름은 "John Doe", 이메일 주소는 "johndoe@example.com", 국가는 "USA"로 지정했습니다. db.Exec()을 사용하여 데이터를 쓰고 fmt.Printf()를 사용하여 결과를 인쇄합니다.

Summary

이 글에서는 Go 언어로 SQL Server를 사용하는 방법을 소개했습니다. 데이터베이스에 연결하고, 쿼리를 실행하고, 데이터를 쓰는 방법을 배웠습니다. 또한 Go 언어와 함께 SQL Server를 사용하는 프로세스가 매우 간단하다는 사실도 확인했습니다. 따라서 SQL Server는 엔터프라이즈 수준 애플리케이션에서 선호되는 데이터 스토리지 솔루션 중 하나가 되었습니다. Go 개발자이고 다음 프로젝트에서 SQL Server를 사용하고 싶다면 이 문서가 매우 유용한 가이드를 제공할 것입니다.

위 내용은 Go에서 SQL Server 사용: 전체 가이드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.