Go는 간단하고 안정적이며 효율적인 소프트웨어를 쉽게 구성할 수 있는 오픈 소스 프로그래밍 언어입니다. go 언어 튜토리얼 칼럼에서는 Go 언어로 MySQL 데이터베이스를 작동하는 방법을 소개합니다. ㅋㅋㅋ 데이터베이스를 운영할 때 데이터베이스 드라이버를 직접 사용하는 대신 프로그램은 데이터베이스 드라이버를 가져올 때 이 패키지의 이름에 밑줄을 표시하도록 설정합니다.
sql.Open() 메서드를 사용하여 데이터베이스에 연결합니다. open() 메서드의 첫 번째 매개 변수는 드라이버 이름이고 두 번째 매개 변수는 연결 문자열입니다. 사용자 이름:password@tcp(ip: 포트)/ 데이터베이스 이름? 인코딩 방법, 반환 값은 연결 개체 및 오류 정보입니다. 예:
go get -u -v github.com/go-sql-driver/mysql데이터베이스 작업을 수행합니다. 데이터베이스의 주요 메소드는 다음과 같습니다.
Query는 Select 문과 같은 데이터베이스의 쿼리 작업을 실행하며 반환 데이터 유형은 *Rows
QueryRow 데이터베이스를 실행하면 최대 한 개의 데이터가 반환되며, 반환 데이터 유형은 *RowExec입니다. 실행 횟수는 무제한입니다. 삭제 작업과 같은 모든 행의 데이터베이스 문을 반환합니다.
PrePare는 데이터베이스 쿼리 작업을 준비하고 후속 쿼리 또는 Exec에 대해 *Stmt를 반환합니다. 이 Stmt는 여러 번 실행되거나 동시에 실행될 수 있습니다Create table
exec 함수는 다음과 같습니다.import _ "github.com/go-sql-driver/mysql"테이블을 생성하는 방법도 Exec()이고 매개 변수는 SQL 문이며 반환 값은 결과 집합 및 오류 메시지입니다.
결과에는 다음이 포함됩니다.
conn,err := sql.Open("mysql","root:123456@tcp(127.0.0.1:3306)/test?charset=utf8") defer conn.Close()//随手关闭数据库是个好习惯RowsAffected() 함수는 데이터베이스에서 SQL의 성공적인 실행에 의해 영향을 받는 행 수를 얻을 수 있습니다.
func (db *DB) Exec(query string, args ...interface{}) (Result, error)
추가, 삭제, 수정 작업
Exec()은 추가, 삭제, 수정 작업문을 실행하는 데 사용됩니다. 반환 값은 결과 집합과 오류 정보입니다. 결과 집합을 실행하면 실행 결과 정보를 얻을 수 있습니다. 데이터 삽입을 예로 들면 코드는 다음과 같습니다.type Result interface { LastInsertId() (int64, error) RowsAffected() (int64, error) }Query 연산 사용된 함수는 Query()와 QueryRow입니다.
res ,err:= conn.Exec("create table user(name VARCHAR(40),pwd VARCHAR(40))") beego.Info("create table result=",res.,err)QueryRow를 사용하여 단일 행 쿼리를 구현하면 쿼리 결과를 확인할 수 있습니다. SQL 문의 레코드입니다. Scan() 함수를 사용하여 결과의 필드 값을 순차적으로 추출합니다. Query를 사용하여 다중 행 데이터 쿼리를 구현하고 반환 값은 쿼리 결과 집합과 오류 정보입니다. 데이터는 다음과 Scan 기능을 통해 함께 가져옵니다코드는 다음과 같습니다.
한 줄 쿼리:
res,_:=stmt.Exec("insert user(name,pwd) values (?,?)","tony","tony") count,_:=res.RowsAffected() this.Ctx.WriteString(strconv.Itoa(int(count)))다줄 쿼리:
func (db *DB) QueryRow(query string, args ...interface{}) *Row func (db *DB) Query(query string, args ...interface{}) (*Rows, error)모든 코드
row:= conn.QueryRow(`select * from user where userName = "wyj"`) var name,pwd string row.Scan(&name,&pwd) beego.Info(name,"------",pwd)더 많은 바둑 언어 지식을 원하시면 PHP 중국어 웹사이트go 언어 튜토리얼 칼럼을 주목하세요.
위 내용은 Go 언어로 MySQL 데이터베이스를 작동하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!