Go語言中MySQL資料庫的應用

2021-10-19 05:19:29 字數 1357 閱讀 6005

db, err := sql.

open

("mysql"

, username:password@protocol

(address)

/dbname?param=value)

第乙個引數是驅動器,第二個引數就是資料庫資訊。

defer db.

close

()

斷開資料庫連線函式。

func

connect()

*sql.db

return db

}

常用的sql命令這裡

golang中,提供了db.exec()

通過這個函式,可以直接用sql命令來實現想要的操作,返回值是sql.result

_

, err := db.

exec

("create table if not exists item(id int primary key auto_increment,name varchar(30),price int);"

)

例如,上面這段**就在mysql中新建了乙個**。

如果需要在表中大量查詢某些東西,每個查詢中只有where字句的某些數值不一樣。

試想一下,如果使用db.exec(),不但涉及大量的數字轉字串的操作,而且**也很不美觀。

這裡就需要預編譯命令來解決這個問題。

golang中,提供了db.prepare()

具體用法如下:

pre,

_:= db.

prepare

("select * from item where id=?;"

)

將每次改變的值用問號代替,接下來使用pre.query()函式。

result, err := pre.

query

(num)

這樣result就是在item**中,查詢idnum的結果。

對於從mysql資料庫返回的值,是乙個行的集合,提供了reselt.scan()函式。

for result.

next()

建議id的型別為sql.nullint32等型別,方便判斷。

Go語言中使用MySql資料庫

go中支援mysql的驅動目前比較多,有如下幾種,有些是支援database sql標準,而有些是採用了自己的實現介面,常用的有如下幾種 接下來的幾個小節裡面我們都將採用同乙個資料庫表結構 資料庫test,使用者表userinfo,關聯使用者資訊表userdetail。create table us...

Go語言中使用MySql資料庫

go中支援mysql的驅動目前比較多,有如下幾種,有些是支援database sql標準,而有些是採用了自己的實現介面,常用的有如下幾種 接下來的幾個小節裡面我們都將採用同乙個資料庫表結構 資料庫test,使用者表userinfo,關聯使用者資訊表userdetail。create table us...

Go語言中使用SQLite資料庫

go支援sqlite的驅動也比較多,但是好多都是不支援database sql介面的 目前支援database sql的sqlite資料庫驅動只有第乙個,我目前也是採用它來開發專案的。採用標準介面有利於以後出現更好的驅動的時候做遷移。示例的資料庫表結構如下所示,相應的建表sql create tab...