http://www.dotcoo.com/golang-mysql-mymysql
golang,做很多系统都离不开数据库,当然最常用的还是mysql,今天测试了一下连接mysql数据库,呼呼爽啊.再次为golang欢呼.
这次用的是golang的mymysql驱动,好久没有用mysql了,还是忘不了她.
package main import ( "fmt" "database/sql" "github.com/ziutek/mymysql/godrv" ) // 用户结构 type User struct { uid int username string password string } func main() { // 设置连接编码 godrv.Register("SET NAMES utf8") // 连接数据库 db, err := sql.Open("mymysql", "tcp:127.0.0.1:3306*go/root/123456") if err != nil { panic(err) } defer db.Close() // 插入数据 stmt, err := db.Prepare("insert into user values(null, ?, ?)") if err != nil { panic(err) } defer stmt.Close() // sql参数 result, err := stmt.Exec("豆蔻", "dotcoo.com") if err != nil { panic(err) } // 获取影响的行数 affect, err := result.RowsAffected() if err != nil { panic(err) } fmt.Printf("%d\n", affect) // 获取自增id id, err := result.LastInsertId() if err != nil { panic(err) } fmt.Printf("%d\n", id) // 查询数据 rows, err := db.Query("select * from user") if err != nil { panic(err) } defer rows.Close() // 获取的用户 users := []User{} // 读取数据 for rows.Next() { user := User{} err := rows.Scan(&user.uid, &user.username, &user.password) if nil != err { panic(err) } users = append(users, user) } // 显示用户信息 for _, user := range users { fmt.Printf("%d, %s, %s\n", user.uid, user.username, user.password) } }
有疑问加站长微信联系(非本文作者)