資料庫腳本
CREATE TABLE `userinfo` (
`uid` INT(10) NOT NULL AUTO_INCREMENT,
`username` VARCHAR(64) NULL DEFAULT NULL,
`department` VARCHAR(64) NULL DEFAULT NULL,
`created` DATE NULL DEFAULT NULL,
PRIMARY KEY (`uid`)
);
CREATE TABLE `userdetail` (
`uid` INT(10) NOT NULL DEFAULT '0',
`intro` TEXT NULL,
`profile` TEXT NULL,
PRIMARY KEY (`uid`)
)
Go 代碼
package main
import (
"database/sql"
"fmt"
_ "github.com/go-sql-driver/mysql"
)
func checkError(err error) {
if err != nil {
fmt.Println("出現錯誤- > ", err)
return
}
}
func insert(db *sql.DB) sql.Result {
stmt, err := db.Prepare("insert userinfo set username =?, department=?,created=?")
checkError(err)
res, err := stmt.Exec("test", "研發", "2012-12-09")
checkError(err)
return res
}
func update(db *sql.DB) sql.Result {
prepare, err := db.Prepare("update userinfo set username=? where uid=?")
checkError(err)
// 用來執行 sql 陳述句
exec, err := prepare.Exec("cuiyt", 1)
checkError(err)
return exec
}
func selectDb(db *sql.DB) {
// 用來直接執行sql 并且回傳row結果
query, err := db.Query("select * from userinfo")
checkError(err)
for query.Next() {
var uid int
var username string
var department string
var created string
err = query.Scan(&uid, &username, &department, &created)
checkError(err)
fmt.Println(uid)
fmt.Println(username)
fmt.Println(department)
fmt.Println(created)
}
}
func deleteDb(id int, db *sql.DB) {
// 用來回傳準備要執行的sql操作,然后回傳準備完畢的執行狀態,
prepare, err := db.Prepare("delete from userinfo where uid=?")
checkError(err)
exec, err := prepare.Exec(id)
checkError(err)
res, err := exec.RowsAffected()
checkError(err)
fmt.Println(res)
db.Close()
}
func main() {
// 打開一個注冊過的資料庫驅動
db, err := sql.Open("mysql", "root:cui0411..@/go?charset=utf8")
checkError(err)
//res := insert(db)
//id, err := res.LastInsertId()
//checkError(err)
//fmt.Println(id)
// result := update(db)
// fmt.Println(result)
selectDb(db)
deleteDb(2, db)
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/243975.html
標籤:其他
上一篇:系統分析師考試科目方案(二)
下一篇:特征工程閱讀筆記(第三章)
