Format and remove 05.2.md spaces

This commit is contained in:
vCaesar
2017-06-10 11:51:55 +08:00
parent f7390e5824
commit ff3ac9441a

View File

@@ -18,99 +18,99 @@ Go中支持MySQL的驱动目前比较多有如下几种有些是支持data
接下来的几个小节里面我们都将采用同一个数据库表结构数据库test用户表userinfo关联用户信息表userdetail。 接下来的几个小节里面我们都将采用同一个数据库表结构数据库test用户表userinfo关联用户信息表userdetail。
```sql ```sql
CREATE TABLE `userinfo` ( CREATE TABLE `userinfo` (
`uid` INT(10) NOT NULL AUTO_INCREMENT, `uid` INT(10) NOT NULL AUTO_INCREMENT,
`username` VARCHAR(64) NULL DEFAULT NULL, `username` VARCHAR(64) NULL DEFAULT NULL,
`departname` VARCHAR(64) NULL DEFAULT NULL, `departname` VARCHAR(64) NULL DEFAULT NULL,
`created` DATE NULL DEFAULT NULL, `created` DATE NULL DEFAULT NULL,
PRIMARY KEY (`uid`) PRIMARY KEY (`uid`)
); );
CREATE TABLE `userdetail` ( CREATE TABLE `userdetail` (
`uid` INT(10) NOT NULL DEFAULT '0', `uid` INT(10) NOT NULL DEFAULT '0',
`intro` TEXT NULL, `intro` TEXT NULL,
`profile` TEXT NULL, `profile` TEXT NULL,
PRIMARY KEY (`uid`) PRIMARY KEY (`uid`)
) )
``` ```
如下示例将示范如何使用database/sql接口对数据库表进行增删改查操作 如下示例将示范如何使用database/sql接口对数据库表进行增删改查操作
```Go ```Go
package main package main
import ( import (
_ "github.com/go-sql-driver/mysql" _ "github.com/go-sql-driver/mysql"
"database/sql" "database/sql"
"fmt" "fmt"
//"time" //"time"
) )
func main() { func main() {
db, err := sql.Open("mysql", "astaxie:astaxie@/test?charset=utf8") db, err := sql.Open("mysql", "astaxie:astaxie@/test?charset=utf8")
checkErr(err)
//插入数据
stmt, err := db.Prepare("INSERT userinfo SET username=?,departname=?,created=?")
checkErr(err)
res, err := stmt.Exec("astaxie", "研发部门", "2012-12-09")
checkErr(err)
id, err := res.LastInsertId()
checkErr(err)
fmt.Println(id)
//更新数据
stmt, err = db.Prepare("update userinfo set username=? where uid=?")
checkErr(err)
res, err = stmt.Exec("astaxieupdate", id)
checkErr(err)
affect, err := res.RowsAffected()
checkErr(err)
fmt.Println(affect)
//查询数据
rows, err := db.Query("SELECT * FROM userinfo")
checkErr(err)
for rows.Next() {
var uid int
var username string
var department string
var created string
err = rows.Scan(&uid, &username, &department, &created)
checkErr(err) checkErr(err)
fmt.Println(uid)
//插入数据 fmt.Println(username)
stmt, err := db.Prepare("INSERT userinfo SET username=?,departname=?,created=?") fmt.Println(department)
checkErr(err) fmt.Println(created)
res, err := stmt.Exec("astaxie", "研发部门", "2012-12-09")
checkErr(err)
id, err := res.LastInsertId()
checkErr(err)
fmt.Println(id)
//更新数据
stmt, err = db.Prepare("update userinfo set username=? where uid=?")
checkErr(err)
res, err = stmt.Exec("astaxieupdate", id)
checkErr(err)
affect, err := res.RowsAffected()
checkErr(err)
fmt.Println(affect)
//查询数据
rows, err := db.Query("SELECT * FROM userinfo")
checkErr(err)
for rows.Next() {
var uid int
var username string
var department string
var created string
err = rows.Scan(&uid, &username, &department, &created)
checkErr(err)
fmt.Println(uid)
fmt.Println(username)
fmt.Println(department)
fmt.Println(created)
}
//删除数据
stmt, err = db.Prepare("delete from userinfo where uid=?")
checkErr(err)
res, err = stmt.Exec(id)
checkErr(err)
affect, err = res.RowsAffected()
checkErr(err)
fmt.Println(affect)
db.Close()
} }
func checkErr(err error) { //删除数据
if err != nil { stmt, err = db.Prepare("delete from userinfo where uid=?")
panic(err) checkErr(err)
}
res, err = stmt.Exec(id)
checkErr(err)
affect, err = res.RowsAffected()
checkErr(err)
fmt.Println(affect)
db.Close()
}
func checkErr(err error) {
if err != nil {
panic(err)
} }
}
``` ```
通过上面的代码我们可以看出Go操作Mysql数据库是很方便的。 通过上面的代码我们可以看出Go操作Mysql数据库是很方便的。