//数据库连接主函数,需要导入包github.com/go-sql-driver/mysql,database/sql
package main
import (
_"github.com/go-sql-driver/mysql"
"database/sql"
"db/check"
"db/myselect"
"db/insert"
)
func main(){
//打开本地数据库
db,err:=sql.Open("mysql","root:liukun@/test")
check.CheckErr(err)
insert.Insert(db,"lk","技术部","2019-9-9")
myselect.Select(db)
// //更新数据
// stmt,err=db.Prepare("update userinfo set username=? where uid=?")
// checkErr(err)
// res,err=stmt.Exec("astaxieupdate",id)
// checkErr(err)
// affect,err:=res.RowsAffected()
// checkErr(err)
// fmt.Println(affect)
// //删除数据
// 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)
// db.Close()
}
//检测错误的函数
package check
func CheckErr(err error){
if err!=nil{
panic(err)
}
}
//查询函数
package myselect
import(
"db/check"
"database/sql"
"fmt"
)
func Select(db *sql.DB) {
rows,err:=db.Query("select * from userinfo")
check.CheckErr(err)
for rows.Next(){
var uid int
var username string
var departname string
var created string
err =rows.Scan(&uid,&username,&departname,&created)
check.CheckErr(err)
fmt.Println(uid)
fmt.Println(username)
fmt.Println(departname)
fmt.Println(created)
}
}
//插入函数
package insert
import(
_"github.com/go-sql-driver/mysql"
"fmt"
"database/sql"
"db/check"
)
func Insert(db *sql.DB,i,j,z string){
//插入数据
stmt,err:=db.Prepare("insert userinfo set username=?,departname=?,created=?")
check.CheckErr(err)
res,err:=stmt.Exec(i,j,z)
check.CheckErr(err)
id,err:=res.LastInsertId()
check.CheckErr(err)
fmt.Println(id)
}