Go MySQL

2820 단어 mysqlGo
1: MySQL 드라이버를 설치해야 합니다(https://github.com/go-sql-driver/mysql)
프로젝트 경로에서 실행하고 드라이브 원본을 가져오면 이 드라이브가 자동으로 생성됩니다
mysql.a
Pkg 디렉토리 아래:
~/gowork$ GOPATH=`pwd` go get github.com/go-sql-driver/mysql

2: 코드 구조는 다음과 같다.
gaojie@zs-gaojie:~/gowork$ tree
.
├── bin
│   └── main
├── pkg
│   └── linux_amd64
│       └── github.com
│           └── go-sql-driver
│               └── mysql.a
└── src
    ├── github.com
    │   └── go-sql-driver
    │       └── mysql
    │           ├── buffer.go
    │           ├── connection.go
    │           ├── const.go
    │           ├── driver.go
    │           ├── driver_test.go
    │           ├── errors.go
    │           ├── infile.go
    │           ├── LICENSE
    │           ├── packets.go
    │           ├── README.md
    │           ├── result.go
    │           ├── rows.go
    │           ├── statement.go
    │           ├── transaction.go
    │           ├── utils.go
    │           └── utils_test.go
    └── main
        └── mysql.go

10 directories, 19 files
   3:mysql.go
package main


import (
 "fmt"
 _ "github.com/go-sql-driver/mysql"
 "log"
 "database/sql"
)


/**
GOPATH=`pwd` go get github.com/go-sql-driver/mysql
*/
const (
 mysql_host="*.*.*.*"
 mysql_user="root"
 mysql_password="mysqladmin"
)
func main(){
 fmt.Println("connect MySQL...")
 //username:password@protocol(address)/dbname?param=value
 db, err := sql.Open("mysql", mysql_user+":"+mysql_password+"@tcp4("+mysql_host+":3306)/test")
 if err != nil {
 log.Fatal(err)
 }
 //db    ,   close         (defer     main   ,   )
 defer db.Close()
 
 err = db.Ping()
 if err != nil {
    log.Fatal(err)
 }
 log.Print("db:", db)
 //  
 iSql := "insert into go (name, age)  values (?, ?)"
 result, err := db.Exec(iSql, "gaojie", 24);
 if err != nil {
 log.Fatal(err)
 }
 log.Print(result.LastInsertId())
 
 //  
 rSQL := "select name, age from go"
 rows, err := db.Query(rSQL);
 if err != nil {
 log.Fatal(err)
 }
 //   
 for rows.Next() {
    	var name string
    	var age int
    	//    ,           
    	err = rows.Scan(&name, &age)
    	//  
    	log.Println("name :", name, "\t age :", age)
    }
 
}

좋은 웹페이지 즐겨찾기