> 백엔드 개발 > Golang > `database/sql` API를 사용하여 Go에서 MySQL에 연결하는 가장 좋은 방법은 무엇입니까?

`database/sql` API를 사용하여 Go에서 MySQL에 연결하는 가장 좋은 방법은 무엇입니까?

DDD
풀어 주다: 2024-12-24 01:30:15
원래의
639명이 탐색했습니다.

What's the Best Way to Connect to MySQL from Go Using the `database/sql` API?

Go에서 MySQL에 연결하는 가장 좋은 방법

Go에서 안정적인 MySQL 연결

적절한 드라이버를 사용하면 Go에서 MySQL에 쉽게 연결할 수 있습니다. . 사용 가능한 옵션 중에서 데이터베이스/SQL API를 준수하는 옵션은 다음을 위해 권장됩니다.

  • 깔끔하고 효율적인 구문
  • 코드 수정 없이 여러 드라이버 간 호환성(가져오기 및 연결 제외) )

Go용 최고의 MySQL 드라이버

MySQL에서 눈에 띄는 빠르고 안정적인 두 가지 드라이버 연결:

  • MyMySQL
  • Go-MySQL-Driver

제품 테스트를 통해 안정성과 성능이 확인되었습니다.

가져오기 설명 드라이버용

  • MyMySQL: 가져오기(_ "github.com/ziutek/mymysql/godrv")
  • Go-MySQL-Driver: 가져오기(_ "github.com/go-sql-driver/mysql")

연결 및 종료

  • MySQL:

    con, err := sql.Open("mymysql", database+"/"+user+"/"+password)
    defer con.Close()
    로그인 후 복사
  • Go-MySQL-Driver:

    con, err := sql.Open("mysql", store.user+":"+store.password+"@/"+store.database)
    defer con.Close()
    로그인 후 복사

샘플 쿼리

  • 단일 행 선택:

    row := con.QueryRow("select mdpr, x, y, z from sometable where>
    로그인 후 복사
  • 여러 행 선택:

    rows, err := con.Query("select a, b from item where p1=? and p2=?", p1, p2)
    if err != nil { /* error handling */}
    items := make([]*SomeStruct, 0, 10)
    var ida, idb uint
    for rows.Next() {
      err = rows.Scan(&ida, &idb)
      if err != nil { /* error handling */}
      items = append(items, &SomeStruct{ida, idb})
    }
    로그인 후 복사
  • 삽입 작업:

    _, err = con.Exec("insert into tbl (id, mdpr, isok) values (?, ?, 1)", id, mdpr)
    로그인 후 복사

데이터베이스/sql API의 장점

Go for MySQL 연결에서 데이터베이스/sql API를 사용하면 여러 가지 이점을 얻을 수 있습니다.

  • 단순화된 구문: API는 다양한 환경에서 일관된 인터페이스를 제공합니다. 데이터베이스.
  • 드라이버 상호 교환성: 가져오기 및 연결 라인 수정만 필요하므로 MySQL 드라이버 간 전환이 쉬워집니다.

신뢰할 수 있는 드라이버와 강력한 API를 사용하여 연결 Go에서 MySQL로의 전환은 원활한 경험입니다.

위 내용은 `database/sql` API를 사용하여 Go에서 MySQL에 연결하는 가장 좋은 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿