Golang 操作 mysql 数据库
安装驱动
与 大多编程语言一样,Golang 并没有自带任何数据库操作驱动。所以我们首先得安装第三方函数库。
这时候我也曾经有过疑问 Golang 中不是有 database/sql
包?后来我搞明白了。database/sql包
提供了保证SQL或类SQL数据库的泛用接口,使用时必须注入一个数据库驱动。
由于我这次操作的为 mysql 数据库,所以使用的第三方库为:
https://github.com/go-sql-driver/mysql
使用命令 go get -u github.com/go-sql-driver/mysql
给 Golang 安装 MySQL 驱动
$ go get -u github.com/go-sql-driver/mysqlgo: finding github.com/go-sql-driver/mysql v1.5.0go: downloading github.com/go-sql-driver/mysql v1.5.0go: extracting github.com/go-sql-driver/mysql v1.5.0
连接数据库
package mainimport ("database/sql"_ "github.com/go-sql-driver/mysql""fmt")func main() {数据源语法:"用户名:密码@[连接方式](主机名:端口号)/数据库名"dsn := "root@tcp(127.0.0.1:3306)/dianping"db, err := sql.Open("mysql", dsn) // open() 方法不会真正的与数据库建立连接,只是设置连接需要的参数if err != nil {panic(err)}// err:=db.Ping() //连接数据库defer db.Close()}
操作数据库
mysql 建立测试表
create table test1(id int primary key,name varchar(10));
添加
sql:="insert into test1 values (1,'卡卡')"result,_:=db.Exec(sql) // 执行SQLnum,_:=result.RowsAffected(); // 获取受影响的行数fmt.Println("受影响的行数:",num)
查询
rows,_:=db.Query("select * from test1")for rows.Next(){ //循环显示所有的数据rows.Scan(&id,&name)fmt.Println(id,"--",name)}
文章转载自锐玩道,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




