1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76
| package main
import ( "database/sql" "fmt" _ "github.com/go-sql-driver/mysql" )
func main() {
//连接数据库 db, err := sql.Open("mysql", "golangtest:123456@/golangtest?charset=utf8") if err != nil { fmt.Println(">>> fail to connect to db <<<") fmt.Println(err) } fmt.Println(">>> succeed to connect to db <<<")
//定义结构体用来保存读取的数据 type info struct { name string `db:"Name"` email string `db:"Email"` password string `db:"Password"` }
//向数据库插入数据 /*results,err:=db.Exec("INSERT INTO users(name,email,password)VALUES (?,?,?)","王五","oee@as.com","oee") if err!=nil { fmt.Println(err) } fmt.Println("数据库完成") fmt.Println(results.RowsAffected()) //更新的条目数 fmt.Println("显示完成")*/
/*//更新数据库中的数据 results,err:=db.Exec("UPDATE users SET password=? where name=?","ooooo","小明") if err!=nil { fmt.Println(err) } fmt.Println(results.RowsAffected()) //更新的条目数*/
//删除数据库中的数据 results, err := db.Exec("DELETE FROM users where name=?", "小李") if err!=nil { fmt.Println(err) } fmt.Println(results.RowsAffected()) //删除的条目数
//将从users表中查到的所有数据保存到rows中 rows,err:=db.Query("SELECT * FROM users") if err !=nil { fmt.Println(err) } //将rows中的数据逐条输出 for rows.Next(){ var s info err=rows.Scan(&s.name,&s.email,&s.password) if err !=nil { fmt.Println(err) } fmt.Println(s) }
//关闭连接 err = rows.Close() if err != nil { return } err = db.Close() if err != nil { return } }
|