go语言mysql操作_golang数据库操作

一、准备

1、MySQL :数据库服务端

3、连接数据库并创建表

80a614275ea97e30cb6aacd23e1edb9f.png

520dccb2d9b66abc2356f9cd61d57c51.png

4cbec7d109e846d98028fc50d3f3f793.png

3ae96bc304442759cc8a7528e80a1c74.png

二、引入driverimport(

"database/sql"

_"github.com/go-sql-driver/mysql"// "_" 引入后面的包名 而不直接使用里面的定义的函数、变量、资源等

)

三、连接数据库db,err := sql.Open("mysql","用户名:密码@tcp(127.0.0.1:3306)/demo?charset=utf8")

Tool.Check("打开数据库",err)//执行Open函数的时候,并不会去获得数据库连接有效性,当执行数据库操作的时候才会去连接,

// 当我们需要在Open之后就知道连接的有效性的时候,可以通过Ping()来进行

err = db.Ping()

Tool.Check("连接的有效性",err)

四、插入数据res,err := db.Exec("INSERT INTO test(name1,age) VALUES('程咬金',9000)")

Tool.Check("插入数据",err)

id,err := res.LastInsertId()

Tool.Check("插入的id",err)

log.Println(id)

五、更新数据res,err := db.Exec("UPDATE test SET age = ? WHERE name1 = ?",1000000,"程咬金")

Tool.Check("更新数据",err)

id,err := res.LastInsertId()

Tool.Check("更新的id",err)

log.Println(id)

六、删除数据res,err := db.Exec("DELETE  FROM test WHERE  name1 = ?","程咬金")

Tool.Check("删除数据",err)

id,err := res.LastInsertId()

Tool.Check("删除数据的id",err)

log.Println(id)

七、预备表达式//预备表达式 用来优化SQL查询 提高性能 减少SQL注入的风险

stmt,err := db.Prepare("UPDATE test SET age = ? WHERE name1 = 1 OR 1=1;")

Tool.Check("获取行",err)

_,err = stmt.Exec("90909090","达摩")

Tool.Check("更新数据",err)

八、关闭数据库defer db.Close()

九、遇到的错误1.ERROR 1366: 1366: Incorrect string value: '\xE6\x98\xAF\xE7\x9A\x84' for column 'name' at row 1

SQL Statement:

原因是: 创建数据库的时候数据编码设置错误

有疑问加站长微信联系(非本文作者)

5c5fbae790ec0313d6ee17e8b3dd9ba1.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值