暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Golang 操作 mysql 数据库

锐玩道 2021-06-16
1665

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/mysql
    go: finding github.com/go-sql-driver/mysql v1.5.0
    go: downloading github.com/go-sql-driver/mysql v1.5.0
    go: extracting github.com/go-sql-driver/mysql v1.5.0

    连接数据库

      package main


      import (
      "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) // 执行SQL
          num,_:=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进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

            评论