go語言mysql驅動 MySQL Go驅動

2021-10-21 08:38:07 字數 3245 閱讀 2035

建立資料庫

編寫test.sql

source test.sql 檔案

編寫go檔案

test.go 內容如下:

db, err := sql.open("mysql", "root:root@/test") //開啟資料庫test

checkerr(err)

stm, err := db.prepare("drop table if exists userinfo;") //準備sql語句,刪除資料表

checkerr(err)

_, err = stm.exec() //excute, 執行語句

checkerr(err)

stm, err = db.prepare(`create table userinfo (

uid int(10) not null auto_increment,

name varchar(64) not null default '匿名',

city varchar(64) null default '不詳',

moment date not null default '1949-10-10',

primary key (uid)

) default charset=utf8;`) //建立資料表,設定utf8以支援中文字元

checkerr(err)

_, err = stm.exec()

checkerr(err)

//增加資料

stm, err = db.prepare("insert userinfo set name=?, city=?, moment=?") //準備sql語句

checkerr(err)

_, err = stm.exec("諸葛亮", "山東臨沂", "234-10-8") //excute, 傳入引數並執行

checkerr(err)

_, err = stm.exec("關羽", "山西運城", "220-1-1")

checkerr(err)

_, err = stm.exec("荀彧", "河南許昌", "212-1-1")

checkerr(err)

stm, err = db.prepare("insert userinfo set city=?")

checkerr(err)

res, err := stm.exec("河南禹州")

id, err := res.lastinsertid()

checkerr(err)

fmt.println("最後插入的使用者序號為:", id)

//查詢資料

rows, err := db.query("select * from userinfo")

checkerr(err)

fmt.println("列印資料表的每行資訊:")

fmt.println("---------------------")

for rows.next() {

var uid int

var name string

var city string

var moment string

err = rows.scan(&uid, &name, &city, &moment)

checkerr(err)

fmt.print(uid, " ")

fmt.print(name, " ")

fmt.print(city, " ")

fmt.println(moment)

//刪除資料

stm, err = db.prepare("delete from userinfo where uid=?")

checkerr(err)

res, err = stm.exec(2)

checkerr(err)

fmt.println("刪除了第2行")

//更改資料

stm, err = db.prepare("update userinfo set name=? where uid=? or uid=?")

checkerr(err)

res, err = stm.exec("郭嘉", id-1, id)

checkerr(err)

affect, err := res.rowsaffected()

checkerr(err)

fmt.println("總共有", affect, "行的資訊發生了更改")

//查詢資料

rows, err = db.query("select * from userinfo")

checkerr(err)

fmt.println("列印資料表的每行資訊:")

fmt.println("---------------------")

for rows.next() {

var uid int

var name string

var city string

var moment string

err = rows.scan(&uid, &name, &city, &moment)

checkerr(err)

fmt.print(uid, " ")

fmt.print(name, " ")

fmt.print(city, " ")

fmt.println(moment)

db.close()

func checkerr(err error) {

if err != nil {

panic(err)

執行結果:

進入mysql檢視資料表:

Go語言操作MySQL

go語言安裝mysql資料庫驅動步驟 安裝驅動 go get github.com go sql driver mysql檢測安裝是否成功 sudo find name go sql driver 進入mysql目錄。ls l wc l一共32個檔案 匯入mysql資料庫驅動import 測試連線資...

C語言mysql 命令列 c語言操作mysql

ubuntu自帶mysql 所以不用安裝。登陸命令 mysql uroot p 然後根據提示輸入密碼 faq 1.error 1045 28000 accessdenied for user nsfocus localhost 解決辦法 sudo etc init.d mysqlstop sudo ...

Go 語言試用 mysql 操作

周海漢 文 2013.8.30 官網 wget 解壓後會生成go目錄 andy s1 test cat hello.go package mainimport fmt func main andy s1 test go build hello.go hello.go 3 8 cannot find ...