仍是那句話,服務器嘛,每一個數據庫支持,那成啥子啦嘛!mysql
好吧,今天,就讓Go能連上數據庫,固然是以前給你鋪墊的MySql的啦,哈哈git
一。安裝第三方包支持訪問mysql數據庫github
#go get github.com/go-sql-driver/mysqlsql
二。寫一個主程序數據庫
//database.go服務器
package maintcp
import (ui
"database/sql"spa
"fmt"orm
_ "github.com/go-sql-driver/mysql"
)
func checkErr(err error) {
if err != nil {
panic(err)
}
}
func main() {
//打開數據庫mytest
fmt.Println("open the database, mytest")
db, err := sql.Open("mysql", "root:11111111@tcp(127.0.0.1:3306)/mytest?charset=utf8")
checkErr(err)
//插入數據
fmt.Println("insert data info into table, userinfo")
stmt, err := db.Prepare("INSERT userinfo SET username=?,departname=?,created=?")
checkErr(err)
res, err := stmt.Exec("Test", "people", "2017-10-27")
checkErr(err)
//記錄ID
fmt.Println("record the ID of affecting item")
id, err := res.LastInsertId()
checkErr(err)
fmt.Println(id)
//更新數據
fmt.Println("update data info where id was conform to be affected")
stmt, err = db.Prepare("update userinfo set username=? where uid=?")
checkErr(err)
res, err = stmt.Exec("man", id)
checkErr(err)
affect, err := res.RowsAffected()
checkErr(err)
fmt.Println(affect)
//查詢數據
fmt.Println("query data info from table, userinfo")
rows, err := db.Query("SELECT * FROM userinfo")
checkErr(err)
fmt.Println("iterator data info to show")
for rows.Next() {
var uid int
var username string
var department string
var created string
err = rows.Scan(&uid, &username, &department, &created)
checkErr(err)
fmt.Println(uid)
fmt.Println(username)
fmt.Println(department)
fmt.Println(created)
}
//刪除數據
stmt, err = db.Prepare("delete from userinfo where uid=?")
checkErr(err)
res, err = stmt.Exec(id)
checkErr(err)
affect, err = res.RowsAffected()
checkErr(err)
fmt.Println(affect)
//關閉數據庫mytest
db.Close()
}
三。創建數據庫和表
mysql>create database mytest;
mysql>use mytest;
mysql> CREATE TABLE `userinfo` (
-> `uid` INT(10) NOT NULL AUTO_INCREMENT,
-> `username` VARCHAR(64) NULL DEFAULT NULL,
-> `departname` VARCHAR(64) NULL DEFAULT NULL,
-> `created` DATE NULL DEFAULT NULL,
-> PRIMARY KEY (`uid`)
-> );
四。結果
# ./database
open the database, mytest
insert data info into table, userinfo
record the ID of affecting item
4
update data info where id was conform to be affected
1
query data info from table, userinfo
iterator data info to show
4
man
people
2017-10-27
1
Finally:
哈哈,數據庫都給你配上了,諸位還不開始Go(滾)嗎?
哈哈哈哈哈哈哈