go語言標準庫中有兩個包和db操作相關,database/sql和database/sql/driver。go語言標準庫提供的兩個包都是相關介面,要連線資料庫還需要相關驅動程式。sql包提供了保證sql或類sql資料庫的泛用介面。
driver包定義了應被資料庫驅動實現的介面,這些介面會被sql包使用。
go-sql-driver/mysql2、sql操作
程式中需要匯入兩個包。
mysql驅動包只需要引入init()函式就行。
import
("database/sql"
//通過_引入init()函式
//驅動初始化
)//初始函式給mysql註冊了驅動
func
init()
)}
1、連線驅動格式
在sql包下的open函式中,需要連線資料庫的驅動。格式如下
"mysql"
,"username:password@tcp(127.0.0.1:3306)/db_name?charset=utf8"
2、準備資料庫
準備好資料庫。
3、查詢
package main
import
("database/sql"
"fmt"
)func
main()
fmt.
println()
var id int
var name string
var *** string
var about string
for rows.
next()
}
4、插入、刪除、更新
func (*db) [exec]
func
(db *db)
exec
(query string
, args ...
inte***ce
)(result,
error
)
exec執行一次命令(包括查詢、刪除、更新、插入等),不返回任何執行結果。引數args表示query中的佔位引數。
db,
_:= sql.
open
("mysql"
,"root:******@tcp(127.0.0.1:3306)/study?charset=utf8"
)defer db.
close()
//defer關閉資料庫連線
query:=
"insert into stu(id, name, ***, about) values(10,'陳浩南','男','物理')"
db.exec
(query)
//執行語句
5、事務
sql也支援事務,包括提交、回滾等。
tx,
_:= db.
begin()
//事務
tx.exec
("delete from stu where id=19"
) tx.
commit()
//提交
go語言標準庫中提供的兩個包。
1、sql/driver包
driver包定義了應被資料庫驅動實現的介面,這些介面會被sql包使用。
驅動介面
type driver inte***ce
連線介面
type conn inte***ce
執行介面
type execer inte***ce
查詢介面
type queryer inte***ce
事務介面
type tx inte***ce
2、sql包
sql包提供了保證sql或類sql資料庫的泛用介面。
提供了一些實現了driver包下的介面的結構體型別。
type db struct
方法有:
exec()
/query()
/close
()等
type rows struct
方法有:
scan()
/next()
/columns
()等
Go語言學習筆記十五 Go語言map的基本操作
基本操作都在以下 裡面啦 1 package main 23 import fmt 45 func main 26fmt.println b 27 b beijing 11111 28 b guangzhou 33333 29 b shenzhen 444444 30fmt.println b 31...
Go語言之Map的使用(十五)
map是go的內建型別,它使用鍵值對的方式來檢索值 乙個鍵對應乙個值 可以使用內建函式 make 也可以使用 map 關鍵字來定義 map 宣告變數,預設 map 是 nil var map variable map key data type value data type 使用 make 函式 ...
go語言 Socket程式設計 二十五
1.socket是什麼 socket起源於unix,而unix基本哲學之一就是 一切皆檔案 都可以用 開啟open 讀寫write read 關閉close 模式來操作。socket就是該模式的乙個實現,網路的socket資料傳輸是一種特殊的i o,socket也是一種檔案描述符。socket也具有...