golang 에서 my sql 데이터 베 이 스 를 조작 하 는 실현 코드
Golang 은 데이터베이스/sql 패 키 지 를 SQL 데이터베이스 에 접근 하 는 데 사용 합 니 다.데이터 베 이 스 를 조작 하 는 입구 대상 sql.DB 로 서 주로 두 가지 중요 한 기능 을 제공 합 니 다.
•sql.DB 는 데이터베이스 구동 을 통 해 바 텀 데이터베이스 연결 을 관리 하 는 열 림 과 닫 기 동작 을 제공 합 니 다.
•sql.DB 는 데이터베이스 연결 탱크 를 관리 합 니 다.
주의해 야 할 것 은 sql.DB 는 데이터베이스 연결 대상 이 아니 라 데이터 베 이 스 를 조작 하 는 추상 적 인 접근 인 터 페 이 스 를 표시 합 니 다.드라이버 에 따라 데이터베이스 연결 을 닫 고 연결 풀 을 관리 할 수 있 습 니 다.사용 중인 연결 은 바 쁜 것 으로 표시 되 어 있 으 며,다 쓴 후 연결 풀 로 돌아 가 다음 사용 을 기다 리 고 있 습 니 다.따라서 연결 을 연결 탱크 에 다시 놓 지 않 으 면 과도 한 연결 로 인해 시스템 자원 이 소 진 될 수 있다.
Golang 조작 mysql 안내
Golang 이 my sql 데이터 베 이 스 를 조작 하 는 느낌 은 phop 중의 Pdo 가 my sql 에 대해 조작 하고 싶 습 니 다.만약 에 당신 이 원래 phoper 에서 golang 으로 전환 한 것 을 받 아들 이 는 것 이 매우 친절 하고 전체적인 느낌 이 매우 간단 하 다 고 가정 합 니 다.
Golang 동작 my sql 의 주의 점
golang 은 my sql 작업 에 대한 표준 라 이브 러 리 를 실 현 했 으 나 my sql 구동 을 실현 하지 못 했 습 니 다.
따라서 우 리 는 먼저 github 에서
go-sql-driver
이 드라이버 패 키 지 를 다운로드 해 야 합 니 다.(src 디 렉 터 리 에서 실행 하 는 것 을 권장 합 니 다)명령 은 다음 과 같 습 니 다.
go get github.com/go-sql-driver/mysql
test 데이터베이스 에 표 필드 를 만 드 는 것 은 다음 과 같다.
CREATE TABLE IF NOT EXISTS `test`.`user` (
`user_id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT ' ',
`user_name` VARCHAR(45) NOT NULL COMMENT ' ',
`user_age` TINYINT(3) UNSIGNED NOT NULL DEFAULT 0 COMMENT ' ',
`user_sex` TINYINT(3) UNSIGNED NOT NULL DEFAULT 0 COMMENT ' ',
PRIMARY KEY (`user_id`))
ENGINE = InnoDB
AUTO_INCREMENT = 1
DEFAULT CHARACTER SET = utf8
COLLATE = utf8_general_ci
COMMENT = ' '
데이터 증가(insert)작업 실현
package main
import (
"fmt"
"database/sql"
// mysql
_ "github.com/go-sql-driver/mysql"
)
func main(){
// database/sql Open
db,err := sql.Open("mysql","root:root@tcp(localhost:3306)/test?charset=utf8")
if err != nil {
fmt.Println(" :",err)
return
}
// DB Prepare ,Prepare stmt
stmt,err := db.Prepare("insert into `user`(user_name,user_age,user_sex)values(?,?,?)")
if err!=nil{
fmt.Println(" :",err)
return
}
// Stmt
result,err := stmt.Exec("pengjin",33," ")
if err!=nil{
fmt.Println(" :",err)
return
}else{
rows,_ := result.RowsAffected()
fmt.Println(" , ",rows," " )
}
}
위의 코드 와 같이 php 에서 pdo 를 조작 하 는 느낌 이 듭 니 다.예 를 들 어 위의 코드 는 실제 적 으로 Prepare 방법 을 작성 하지 않 고 Stmt 인 스 턴 스 의 Exec 방법 을 통 해 직접 실현 할 수 있 습 니 다.총결산
위 에서 말씀 드 린 것 은 고 랑 에서 my sql 데이터 베 이 스 를 조작 하 는 실현 코드 입 니 다.여러분 에 게 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 메 시 지 를 남 겨 주세요.소 편 은 제때에 답 해 드 리 겠 습 니 다.여기 서도 저희 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
set containerThere is no built-in set container in Go How to implement Set struct{} => type struct{}{} => 0bytes How to create set :=...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.