mysql操作
Go语言标准库中有两个包和DB操作相关,database/sql和database/sql/driver。
sql包提供了保证SQL或类SQL数据库的泛用接口。
driver包定义了应被数据库驱动实现的接口,这些接口会被sql包使用。
import ( "database/sql" //通过_引入init()函数 _"github.com/go-sql-driver/mysql"//驱动初始化 ) //初始函数给mysql注册了驱动 func init() { sql.Register("mysql", &MySQLDriver{}) }
1.连接数据库及查询
package main import ( "database/sql" "fmt" _"github.com/go-sql-driver/mysql" ) func main() { db, _ := sql.Open("mysql", "root:xxxxxx@tcp(127.0.0.1:3306)/study?charset=utf8") defer db.Close()//defer关闭数据库连接 //查询表、返回*Rows,其中存放着数据信息 rows, _ := db.Query("select * from xxx") defer rows.Close()//defer关闭查询连接 //获取列相关信息 strings, _ := rows.Columns() for i:=0;i< len(strings);i++{ fmt.Print(" ",strings[i]) } fmt.Println() var id int var name string var sex string var about string for rows.Next(){ rows.Scan(&id,&name,&sex,&about)//将一行数据放入参数中 fmt.Println(id,name,sex,about) } }
2.插入
query:="insert into stu(id, name, sex, about) values(10,'陈浩南','男','物理')" db.Exec(query)//执行语句3.sql支持事务
tx, _ := db.Begin()//事务 tx.Exec("delete from stu where id=19") tx.Commit()//提交
posted on 2021-11-19 16:33 myworldworld 阅读(15) 评论(0) 收藏 举报