package main
import (
"fmt"
"github.com/jmoiron/sqlx"
_ "github.com/go-sql-driver/mysql"
)
func main() {
// 连接数据库
dsn := "username:password@tcp(127.0.0.1:3306)/dbname"
db, err := sqlx.Connect("mysql", dsn)
if err != nil {
panic(err)
}
defer db.Close()
// 查询
var dest []struct {
Field1 string `db:"field1"`
Field2 int `db:"field2"`
}
query := "SELECT field1, field2 FROM tableName"
err = db.Select(&dest, query)
if err != nil {
panic(err)
}
fmt.Printf("查询结果: %v\n", dest)
// 插入
_, err = db.Exec("INSERT INTO tableName (field1, field2) VALUES (?, ?)", "value1", 123)
if err != nil {
panic(err)
}
fmt.Println("插入成功")
// 更新
_, err = db.Exec("UPDATE tableName SET field1 = ? WHERE field2 = ?", "newValue", 123)
if err != nil {
panic(err)
}
fmt.Println("更新成功")
// 删除
_, err = db.Exec("DELETE FROM tableName WHERE field2 = ?", 123)
if err != nil {
panic(err)
}
fmt.Println("删除成功")
}
这段代码展示了如何使用sqlx库进行MySQL数据库的连接、查询、插入、更新和删除操作。代码简洁,注重实用性,是学习数据库操作的一个很好的例子。