一、CRUD
package main
import (
"database/sql"
"fmt"
_ "github.com/go-sql-driver/mysql"
)
func main() {
db, err := sql.Open("mysql", "root:mysql3306@tcp(localhost:3306)/test")
db.Ping()
if err != nil {
fmt.Println("连接失败")
return
}
defer func() {
if db != nil {
db.Close()
}
}()
// insert
pre, err := db.Prepare("insert into user_info values(default,?,?)")
if err != nil {
fmt.Println("预处理失败")
return
}
defer func() {
if pre != nil {
pre.Close()
}
}()
exec, err := pre.Exec("米夏", "hlolih12")
if err != nil {
fmt.Println("插入失败")
return
}
id, _ := exec.LastInsertId()
fmt.Println(id)
//count, err := exec.RowsAffected()
//if err != nil {
// fmt.Println("执行插入失败")
// return
//}
//if count > 0 {
// fmt.Println("插入成功")
//} else {
// fmt.Println("失败")
//}
// //update
//pre, _ := db.Prepare("update user_info set password=? where id=?")
//defer func() {
// if pre!=nil{
// pre.Close()
// }
//}()
//
//exec, _ := pre.Exec("shaxiazi123", 9)
//row, _ := exec.RowsAffected()
//if row>0{
// fmt.Println("update success")
//}else{
// fmt.Println("update fail")
//}
//delete
pre, _ := db.Prepare("delete from user_info where id=?")
defer func() {
if pre!=nil{
pre.Close()
}
}()
exec, _ := pre.Exec(8)
rowsAffected, _ := exec.RowsAffected()
if rowsAffected>0{
fmt.Println("delete success")
}else{
fmt.Println("delete fail")
}
}
//query
pre, _ := db.Prepare("select * from user_info where id=?")
defer func() {
if pre!=nil{
pre.Close()
}
}()
//var username,password string
query, _ := pre.Query(9)
for query.Next(){
var id int
var username,password string
query.Scan(&id,&username, &password)
fmt.Println(id,username,password)
}
defer func() {
if query!=nil{
query.Close()
}
}()