问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

怎么判断go-sql-driver 安装成功

发布网友 发布时间:2022-04-21 07:27

我来回答

1个回答

热心网友 时间:2022-04-09 05:13

go操作mysql的驱动包很多,这里讲解当下比较流行的Go-SQL-Driver/MySQL
1.下载安装
  执行下面两个命令:
    下载:go get github.com/Go-SQL-Driver/MySQL
    安装:go install github.com/Go-SQL-Driver/MySQL
  安装完成以后的文件截图
  

  root/go_s是go工作目录,环境变量:$GOPATH中设置的值
2.导入包
  import (
  "database/sql"
  _"github.com/Go-SQL-Driver/MySQL"
  )

3.链接数据库
  Open函数:
  db, err := sql.Open("mysql", "用户名:密码@tcp(IP:端口)/数据库?charset=utf8")
  例如:db, err := sql.Open("mysql", "root:111111@tcp(127.0.0.1:3306)/test?charset=utf8")
  

4.增删改查
  下面例子中的表结构:
  CREATE TABLE `userinfo` (
    `uid` int(10) NOT NULL AUTO_INCREMENT,
    `username` varchar(64) DEFAULT NULL,
    `departname` varchar(64) DEFAULT NULL,
    `created` date DEFAULT NULL,
    PRIMARY KEY (`uid`)
   ) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8;
截图:

增加
有两种方法:
1.直接使用Exec函数添加
  result, err := db.Exec("INSERT INTO userinfo (username, departname, created) VALUES (?, ?, ?)","lily","销售","2016-06-21")
2.首先使用Prepare获得stmt,然后调用Exec添加
  stmt, err := db.Prepare("INSERT userinfo SET username=?,departname=?,created=?")
  res, err := stmt.Exec("zhja", "研发", "2016-06-17")
另一个经常用到的功能,获得刚刚添加数据的自增ID
  id, err := res.LastInsertId()
相关代码截图:

删除
删除和上面的增加语法一样,只是把其中的INSERT语句改为DELETE语句
修改
修改和上面的增加语法一样,只是把其中的INSERT语句改为UPDATE语句

查询
查询单条数据,QueryEow 函数
  var username, departname, created string
  err := db.QueryRow("SELECT username,departname,created FROM userinfo WHERE uid=?", 3).Scan(&username, &departname, &created)
  代码截图:
  

查询多条数据,并遍历
  Query 获取数据,for xxx.Next() 遍历数据
  

5.事务
在操作数据库之前执行,db.Begin()
例:tx, err := db.Begin()
保存到数据库:err := tx.Commit()
回滚:err := tx.Rollback()
注意设置事务以后操作数据库就不是db了,而是tx
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
谁能给个单机版的风云之雄霸天下啊?? 求风云雄霸天下PC单机游戏WIN7版 雄霸天下任务指南 开心网001老房子卖了以后家具还有吗? 为什么001开心网买房子组件删除仓库里的东西都没了 请教一下,开心001的开心庄园里面的建材有好多富余的的 除了5元一个卖... 开心网001小号怎么给大号送房子? 开心网001多少级能送别人房子?多少级能接受别人给的房子? 开心网001果实或家具能送人吗 开心网(kaixin001)怎么买外地房子? SQL driver 中国科学院关于高级工程师职务分级的意见的分级意见 什么是职位?高级工程师是一个职位还是职级称呼? 林业高级工程师岗位职责 副高级工程师职称评定条件 副高级工程师职称评定条件 高级工程师的岗位职责是什么 企业的高级工程师都有什么职责? 请问副高级工程师评定条件是什么? 工程副高有专业监理工程师含金量高么? 事业单位的高级工程师算什么职位 什么叫副高级以上专业技术职务? 在拼多多上买东西给商差评能删除吗? 消防工程师考试专业要求啥? 消防工程师的报考条件是什么?有专业限制吗? 消防工程师的考试有专业限制吗? 消防工程师报考年限和专业要求? 考取消防工程师证需要什么专业及学历要求? 消防工程师报考条件及专业要求有哪些? 要考消防工程师有专业限制吗? Java怎么加入SQL驱动程序 VB6.0 如何连接SQL 数据库 java加载SQL的驱动程序 sql 查询显示:([ODBC SQL Server Driver]超时已过期 如何安装使用SQL Server的JDBC驱动程序 Microsoft_ ODBC. SQL Server Driver. dll是什么错误 ssh怎么连接my sql的driverclassname是什么 SQL Server JDBC驱动中sqljdbc.jar和sqljdbc4.jar包的区别 java.sql.SQLException: com.sqljdbc.Driver什么意思啊? odbc sql server driver shared memory sql server 吧不存在或访问被拒绝 [ODBC SQL Server Driver]没有执行可选特性 Microsoft] ODBC SQL Server Driver? java 向SQL表中插入数据....追加50分 [Microsoft][ODBC SQL Server Driver]语法错误或违反访问规则 提示java.sql.sqlexception odbc sql server driver sql server用户登录失败 java.sql.SQLException: [Microsoft][ODBC SQL Server Driver]???????说????效 sql server数据库连接失败 二手房抵押后多久放款 二手房已成功办理抵押登记,请问银行要多长时间放款? 二手房已经过户抵押,银行会不放款吗? 二手房过户抵押完之后多久放款