Go的go-sql-driver/mysql
生活随笔
收集整理的這篇文章主要介紹了
Go的go-sql-driver/mysql
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
函數
Open() – creates a DB Close() - closes the DB Query() - 查詢 QueryRow()-查詢行-通過 rows.Next() 迭代查詢數據.-通過 rows.Scan() 讀取每一行的值- for rows.Next(){var id,name,content string if err:=rows.Scan(&id,&name,&content);err!=nil {return res,err}c:=&defs.Comment{Id:id,VideoId:vid,Author:name,Content:content}res=append(res,c)} Exec() -執行操作,update,insert,delete Row - A row is not a hash map, but an abstraction of a cursor Next() -遍歷 Scan() -字段值:根據名字查詢出密碼值-err=stmtOut.QueryRow(loginName).Scan(&pwd)基礎
下載:go get github.com/Go-SQL-Driver/MySQL
安裝:go install github.com/Go-SQL-Driver/MySQL
導入:
import ("database/sql"_"github.com/go-sql-driver/mysql")鏈接
Open函數: db, err := sql.Open("mysql", "用戶名:密碼@tcp(IP:端口)/數據庫?charset=utf8") 例如:db, err := sql.Open("mysql", "root:111111@tcp(127.0.0.1:3306)/test?charset=utf8")?
CREATE TABLE `userinfo` (`uid` int(10) NOT NULL AUTO_INCREMENT,`username` varchar(64) DEFAULT NULL,`departname` varchar(64) DEFAULT NULL,`created` date DEFAULT NULL,PRIMARY KEY (`uid`)) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8;CRUD
package mainimport ("database/sql""fmt"_ "github.com/go-sql-driver/mysql" )func main() {db, err := sql.Open("mysql", "root:wangshubo@/test?charset=utf8")checkErr(err)// insertstmt, err := db.Prepare("INSERT user_info SET id=?,name=?")checkErr(err)res, err := stmt.Exec(1, "wangshubo")checkErr(err)// updatestmt, err = db.Prepare("update user_info set name=? where id=?")checkErr(err)res, err = stmt.Exec("wangshubo_update", 1)checkErr(err)affect, err := res.RowsAffected()checkErr(err)fmt.Println(affect)// queryrows, err := db.Query("SELECT * FROM user_info")checkErr(err)for rows.Next() {var uid intvar username stringerr = rows.Scan(&uid, &username)checkErr(err)fmt.Println(uid)fmt.Println(username)}// deletestmt, err = db.Prepare("delete from user_info where id=?")checkErr(err)res, err = stmt.Exec(1)checkErr(err)// queryrows, err = db.Query("SELECT * FROM user_info")checkErr(err)for rows.Next() {var uid intvar username stringerr = rows.Scan(&uid, &username)checkErr(err)fmt.Println(uid)fmt.Println(username)}db.Close()}func checkErr(err error) { if err != nil {panic(err)} }查詢
查詢單條數據,QueryEow 函數
var username, departname, created string err := db.QueryRow("SELECT username,departname,created FROM userinfo WHERE uid=?", 3).Scan(&username, &departname, &created)查詢多條數據,并遍歷Query 獲取數據,for xxx.Next() 遍歷數據
rows, err := db.Query("SELECT username,departname,created FROM userinfo WHERE username=?", "zhja")checkErr(err)for rows.Next() {var username, departname, created stringif err := rows.Scan(&username, &departname, &created); err == nil {fmt.Println(err)}fmt.Println(username)fmt.Println(departname)fmt.Println(created)}?事務
tx, err := db.Begin()checkErr(err)stmt, err1 := tx.Prepare("INSERT INTO userinfo (username, departname, created) VALUES (?, ?, ?)")checkErr(err1)_, err2 := stmt.Exec("test", "測試", "2016-06-20")checkErr(err2)//err3 := tx.Commit()err3 := tx.Rollback()checkErr(err3)?
總結
以上是生活随笔為你收集整理的Go的go-sql-driver/mysql的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 同一屋檐下里面的喝酸梅汤是什么品牌
- 下一篇: 打开火焰上锅火椒面怎么回事儿?