Go에서 MySQL에 연결하는 권장 방법은 무엇입니까?
Go에서 MySQL 데이터베이스에 연결할 수 있는 신뢰할 수 있는 솔루션을 찾고 있습니다.주변에서 몇 가지 라이브러리를 본 적은 있지만, 완전성과 현재 유지보수의 다른 상태를 판단하기는 어렵습니다.복잡한 요구는 없지만 MySQL에 연결하기 위해 어떤 사람들이 사용하고 있는지 또는 가장 표준적인 솔루션을 알고 싶습니다.
몇 가지 드라이버를 사용할 수 있지만 데이터베이스/sql API를 구현하는 드라이버는
- 깨끗하고 효율적인 구문을 제공합니다.
- Import와 접속은 별도로 코드를 변경하지 않고 나중에 드라이버를 변경할 수 있습니다.
MySQL 에서는, 다음의 2개의 고속·신뢰성이 높은 드라이버를 사용할 수 있습니다.
이 두 가지를 모두 실전 가동에 사용하고 있습니다.수개월 동안 수백만 개의 접속 번호로 프로그램이 가동되고 있습니다.
다른 SQL 데이터베이스 드라이버는 go-wiki에 나열됩니다.
MyMySQL 사용 시 가져오기:
import (
"database/sql"
_ "github.com/ziutek/mymysql/godrv"
)
Go-MySQL-Driver 사용 시 가져오기:
import (
"database/sql"
_ "github.com/go-sql-driver/mysql"
)
MyMySQL을 사용한 연결 및 닫기:
con, err := sql.Open("mymysql", database+"/"+user+"/"+password)
defer con.Close()
// here you can use the connection, it will be closed when function returns
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 id=?", id)
cb := new(SomeThing)
err := row.Scan(&cb.Mdpr, &cb.X, &cb.Y, &cb.Z)
여러 행을 선택하고 결과를 포함하는 어레이를 구축합니다.
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)
Go with MySQL에서 작업하는 것은 즐거운 경험입니다.저는 문제가 없었습니다.서버는 몇 달 동안 오류나 누수 없이 가동되고 있습니다.대부분의 함수가 단순히 가변적인 수의 인수를 사용한다는 사실은 많은 언어에서 지루한 작업을 가볍게 합니다.
나중에 다른 MySQL 드라이버를 사용해야 할 경우 한 번에 Import를 수행하는 줄과 연결을 여는 줄의 두 줄을 변경하기만 하면 됩니다.
주의할 점이 몇 가지 있습니다.1 행의 예를 선택합니다.
row := con.QueryRow("select mdpr, x, y, z from sometable where id=?",id)
cb := new(SomeThing)
err := row.Scan(&cb.Mdpr, &cb.X, &cb.Y, &cb.Z)
행방불명이 되다row.Next()
를 참조해 주세요.전화할 필요가 있다.row.Next()
첫 번째 줄을 잡습니다.
또한 어떤 식으로든 데이터 미니멀리즘을 촉진하려는 도서관에는 다소 융통성이 없다.스캔이 아닌 열을 선택하려고 하면 오류가 발생합니다(경고뿐 아니라).
Gorm은 Mysql이나 Postgre에 접속하는 완벽한 방법이라고 생각합니다.SQL.
언급URL : https://stackoverflow.com/questions/11353679/whats-the-recommended-way-to-connect-to-mysql-from-go
'programing' 카테고리의 다른 글
AngularJS: 컨트롤러에서 입력을 $valid로 수동으로 설정하는 방법 (0) | 2023.02.11 |
---|---|
JetBrains는 어떤 GUI 라이브러리를 사용하고 있습니까? (0) | 2023.02.02 |
PHP에서 디렉토리와 그 콘텐츠(파일+서브디르) 전체를 반복적으로 삭제하려면 어떻게 해야 합니까? (0) | 2023.02.02 |
ID가 예약어가 아니거나 공백이 있는 경우 BACKTICS를 사용해야 하는 이유는 무엇입니까? (0) | 2023.02.02 |
JavaScript를 사용하여 클릭을 시뮬레이션하는 방법 (0) | 2023.02.02 |