日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

Go的go-sql-driver/mysql

發布時間:2024/9/19 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。