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 77 78 79 80 81 82 83 84 85 86 87 |
package main import ( "database/sql" "fmt" _ "github.com/go-sql-driver/mysql" ) func main() { /* db host: localhost db port: 3306 db version: 10.3.7-MariaDB database: create database go; table: create table Person(`uid` int(10) not null auto_increment, `name` varchar(50), `age` int(1), `city` varchar(50), primary key(`uid`)) ; */ //connect to mysql/mariadb //username:password@protocol(address)/dbname?param=value //my database is:go db, err := sql.Open("mysql", "root:123456@tcp(localhost:3306)/go?charset=utf8") checkErr(err) //insert mysql stmt, err := db.Prepare("INSERT Person SET name=?,age=?,city=?") checkErr(err) res, err := stmt.Exec("李玲", 35, "上海市") checkErr(err) id, _ := res.LastInsertId() fmt.Println("最后插入id", id) //update stmt, err = db.Prepare("update Person set name=? where uid=?") checkErr(err) res, err = stmt.Exec("李璐", 1) checkErr(err) affect, err := res.RowsAffected() checkErr(err) fmt.Println("更新行数:", affect) //delete. stmt, err = db.Prepare("delete from Person where name=?") checkErr(err) res, err = stmt.Exec("李玲") checkErr(err) affect2, err2 := res.RowsAffected() checkErr(err2) fmt.Println("删除行数", affect2) //select mysql. rows, err := db.Query("SELECT * FROM Person") checkErr(err) for rows.Next() { var uid int var name string var age int var city string err = rows.Scan(&uid, &name, &age, &city) checkErr(err) fmt.Println(uid, name, age, city) } //关闭mysql数据库连接 db.Close() } func checkErr(err error) { if err != nil { //err非空则表明遇到错误. panic(err) } } |
本文作者: GavinDong
版权属于: GavinDong博客
文章链接: https://gavindong.com/2575.html
如果使用过程中遇到问题,可 **点击此处** 交流沟通。
版权所有,转载时必须以链接形式注明作者和原始出处及本声明。