1.提早条件mysql
2.打开cmd命令行执行安装命令git
go get github.com/Go-SQL-Driver/MySQL
3.查看是否安装成功github
查看GOPATH下面是否有src目录和pkg目录,且里面有找到MySQL,说明安装成功sql
4.程序测试数据库
package main // 导入包 import ( "database/sql" "fmt" _ "github.com/go-sql-driver/mysql" ) // mysql基本连接信息 var ( // 数据库 host host = "127.0.0.1" // 数据库用户名 username = "xxx" // 数据库密码 password = "xxx" // 数据库名 name = "xxx" ) func main() { // 连接数据库 db, err := sql.Open("mysql", username+":"+password+"@tcp("+host+")/"+name+"?charset=utf8") if err != nil { panic(err) } // 查询 rows, err := db.Query("select id,gender,username from users order by id asc") if err != nil { panic(err) } for rows.Next() { var id int var gender int var username string err = rows.Scan(&id, &gender, &username) if err != nil { panic(err) } fmt.Println(id, gender, username) } // 更新操做 updateStmt, err := db.Prepare("update users set gender=1 where id in (?,?)") if err == nil { res, err := updateStmt.Exec(2, 3) if err == nil { fmt.Println(res.RowsAffected()) // 返回受影响的行数 2 } } // 添加操做 insertStmt, err := db.Prepare("insert into regions (`id`,`parent_id`,`code`,`name`) values (?,?,?,?)") if err == nil { res, err := insertStmt.Exec(3514, 0, 830000, "南极") if err == nil { fmt.Println(res.LastInsertId()) // 返回插入成功最后的id 3514 } } // 删除操做 deleteStmt, err := db.Prepare("delete from regions where id = ?") if err == nil { res, err := deleteStmt.Exec(3514) if err == nil { fmt.Println(res.RowsAffected()) // 返回受影响的行数 1 } } rows.Close() db.Close() }