Go语言之MySQL增删改查
来源:互联网 发布:编译php strip tags 编辑:程序博客网 时间:2024/05/16 08:46
小菜鸟学习之路
1、下载数据库驱动包
由于官方不提供实现,先下载第三方的实现,我这里用的是Go-MySQL-Driver,
①确保安装git ,执行 go get github.com/go-sql-driver/mysql 此命令为git命令,
②导入包
import (
"database/sql"
"fmt"
_ "github.com/go-sql-driver/mysql"
)
2、连接数据库
先创建数据库表:CREATE TABLE `gogo` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(10) NOT NULL, `age` int(2) NOT NULL DEFAULT '0', PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8;
//连接数据库
// db, err := sql.Open("mysql", "root:root@/excel") //默认连接方法
db, err := sql.Open("mysql", "root:root@tcp(localhost:3306)/excel") //指定端口和ip连接
3、执行增删改查的操作
// FirstGo project main.gopackage mainimport ("database/sql""fmt"_ "github.com/go-sql-driver/mysql")func main() {fmt.Println("Hello World!")testMysql()}func testMysql() {//连接数据库//db, err := sql.Open("mysql", "root:root@/excel") //默认连接方法db, err := sql.Open("mysql", "root:root@tcp(localhost:3306)/excel") //指定端口和ip连接if err != nil {fmt.Println(err)return}//关闭数据库,db会被多个goroutine共享,可以不调用defer db.Close()//定义变量var result sql.Result// 1、插入数据result, err = db.Exec("insert into gogo (name,age) values (?,?)", "xiangshang", 18)/** 检查错误信息**/checkErr(err)lastId, _ := result.LastInsertId()fmt.Println("新插入记录的ID为", lastId)// 2 更新数据var res sql.Resultres, err = db.Exec("update gogo set name = ? ,age = ?", "keshui", 22)checkErr(err)affect, err := res.RowsAffected()checkErr(err)fmt.Println(affect)//3、查询数据var row *sql.Rowrow = db.QueryRow("select * from gogo")var id intvar name stringvar age interr = row.Scan(&id, &name, &age)fmt.Println(id, "\t", name, "\t", age)var rows *sql.Rowsrows, err = db.Query("select * from gogo")checkErr(err)//遍历数据for rows.Next() {var name stringvar id, age introws.Scan(&id, &age, &name)fmt.Println(id, "\t", name, "\t", age)}//关闭rows.Close()/*** 4、删除数据**/var deResult sql.ResultdeResult, err = db.Exec("delete from gogo where id = ?", 3)checkErr(err) //检查错误信息deAffect, err := deResult.RowsAffected()checkErr(err) //检查错误信息fmt.Println(deAffect) //成功则打印结果是1}/** 检查错误信息**/func checkErr(err error) {if err != nil {fmt.Println(err)return}}
阅读全文
0 0
- Go语言之MySQL增删改查
- go语言操作mysql范例(增删查改)
- Go语言操作mysql实现增删改查
- go 操作mysql、增删改查
- mySQL之增删改查
- go数据库增删改查
- Go操作mysql实现增删改查及连接池
- go操作操作mysql(增删改查)
- MySql之增删改查总结
- MySql之增删改查总结
- MySql之增删改查总结
- MySql之增删改查总结
- MySql之增删改查总结
- mysql 之增删改查(一)
- 数据库之MySQL增删改查记录
- Mysql之基本增删改查
- mysql增删改查
- MySQL增删改查
- Odoo10
- HDU 6073 Matching In Multiplication (拓扑+DFS, 2017 Multi-Univ Training Contest 4)
- 自实现观察者模式(发布/订阅模式)的一个隐藏bug
- Python之lambda匿名函数及map用法
- ireport 合并行
- Go语言之MySQL增删改查
- Swift UIViewController中的delegate方式传值
- Android内存泄漏分析及调试
- java ant 编译打包build.xml完整配置范例
- php array_map 和 array_reduce 代码要优雅
- 零基础入门深度学习(4)
- HDU 1540 Tunnel Warfare (线段树,区间合并)
- 存储过程
- 如何制作cocoaPods依赖库