以下是使用GO语言实现Mysql数据库CRUD的简单示例的完整攻略:
准备工作
- 安装GO语言环境和MySql数据库
- 下载安装go-sql-driver库:
go get -u github.com/go-sql-driver/mysql
示例一:新增一条记录
- 引入依赖
import (
"database/sql"
"fmt"
_ "github.com/go-sql-driver/mysql"
)
- 创建数据库连接
db, err := sql.Open("mysql", "root:password@tcp(localhost:3306)/dbname?charset=utf8mb4")
if err != nil {
fmt.Errorf("failed to open db,err: %v", err)
return
}
defer db.Close()
- 准备SQL语句和参数
sqlInsert := "INSERT INTO `demo` (`name`,`age`) VALUES (?,?)"
params := []interface{}{"张三", 18}
- 执行SQL语句
result, err := db.Exec(sqlInsert, params...)
if err != nil {
fmt.Errorf("failed to exec query,err: %v", err)
return
}
id, _ := result.LastInsertId()
fmt.Printf("insert id: %v\n", id)
- 运行程序,控制台输出
insert id: x
(x为自增id值)表示新增成功,数据库也会新增一条记录
示例二:查询记录
- 先执行示例一中的准备工作,创建数据库连接
- 准备SQL语句和参数
sqlSelect := "SELECT `id`,`name`,`age` FROM `demo` WHERE `id` = ?"
params := []interface{}{1}
- 查询记录
row := db.QueryRow(sqlSelect, params...)
var id,name string
var age int
if err := row.Scan(&id,&name,&age); err != nil {
switch err {
case sql.ErrNoRows:
fmt.Println("No rows were returned.")
default:
fmt.Errorf("failed to scan row,err: %v", err)
}
return
}
fmt.Printf("id: %s\nname: %s\nage: %d", id,name,age)
- 运行程序,控制台输出查询结果,表示查询成功
从以上两条示例可以看出,使用GO语言实现Mysql数据库CURD的步骤大致如下:
1. 创建/打开数据库连接
2. 准备SQL语句和参数
3. 执行SQL语句
4. 处理执行结果
希望这些简单的示例能够帮助你实现更多复杂的操作,祝你好运!
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:使用GO语言实现Mysql数据库CURD的简单示例 - Python技术站