版权声明:本文为博主原创文章,欢迎大家讨论,未经博主允许不得转载. https://blog.csdn.net/u010398771/article/details/84376180
go访问mysql需要进行导包.就这里需要注意点.
import ( //mysql的驱动包 _ "github.com/Go-SQL-Driver/MySQL" "database/sql" "fmt" ) func checkErr(err error) { if err != nil { panic(err) } } /** 这玩意是写一行代码就是一个异常错误的检查,简直是脑壳进水了的设计.......... 除了插入检查了异常,其他的都没有检查异常....好麻烦,以后自己用的时候需要自己再好好封装一遍 */ func main() { //获取db链接,分别是数据库类型, mysql的账号:密码@/数据库名 db,err:=sql.Open("mysql","root:123@/vspmanager?charset=utf8") checkErr(err) // 插入数据 stmt, err :=db.Prepare("INSERT INTO `diag_info` (`diag_id`, `diag_name`, `diag_code`, `diag_alias_name`) VALUES (?, ?, ?, ?)") checkErr(err) res,err:=stmt.Exec(2,"zhaojun","110","无名") checkErr(err) id, err := res.LastInsertId() fmt.Println(id) // 更新数据 stmt, err = db.Prepare("update diag_info set diag_name=? where diag_id=?") res, err = stmt.Exec("zhaojun哈哈哈",1) affect, err :=res.RowsAffected() fmt.Println(affect) // 查询数据 rows, err := db.Query("SELECT * FROM diag_info limit 10") for rows.Next() { var id int var diag_name string var diag_code string var diag_alias_name string err = rows.Scan(&id, &diag_name, &diag_code, &diag_alias_name) fmt.Println(id) fmt.Println(diag_name) fmt.Println(diag_code) fmt.Println(diag_alias_name) } // 删除数据 stmt, err = db.Prepare("delete from diag_info where diag_id=?") res, err = stmt.Exec(1) affect, err = res.RowsAffected() fmt.Println(affect) db.Close() }
其实没啥难的.就是这种原生的操作方式很累,每一步都需要进行异常的检查,我是偷懒所以去掉了.
以后真正的使用的时候必然是要再封装一遍的.
好了,go的学习就暂时先到这里了,暂时不再继续深入下去了,因为现在的实际业务场景里也没有用到的了,等什么时候用到了再继续深入的学习了.还是继续学习java的东西喽.
我练习的go 的 github 的代码库是: