go语言学习第三篇——数据库的连接

//数据库连接主函数,需要导入包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)

}

猜你喜欢

转载自blog.csdn.net/qq_40242055/article/details/86664948
今日推荐