建立資料庫
編寫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 ...