这两天用golang  写的服务端做的都是和redis做交互,因为后期还会用mysql的一个表做验证。  先学习下golang对mysql的操作  !

mymysql和go-mysql-driver是两个现在都很流行的go的mysql驱动,看了下文档,后者比较的健全,听大牛们介绍,貌似go-mysql-driver更加的健全。

安装配置还是那么简单,直接go get就可以了

go get github.com/go-sql-driver/mysql

好了,咱们就开始用go-sql-driver增删改查

先用go-sql-driver链接mysql !!!

一看就懂了,帐号:密码@模式           数据库,以及附带的参数

user@unix(/path/to/socket)/dbname

root:pw@unix(/tmp/mysql.sock)/myDatabase?loc=Local

user:password@tcp(localhost:5555)/dbname?tls=skip-verify&autocommit=true

完整的例子!//xiaorui.cc

#xiaorui.cc

package main

import (

"database/sql" //这包一定要引用,是底层的sql驱动

"fmt"

_ "github.com/go-sql-driver/mysql"

"strconv" //这个是为了把int转换为string

)

func main() { //main函数

db, err := sql.Open("mysql", "root:@tcp(localhost:3306)/dbname?charset=utf8")

//数据库连接字符串,别告诉我看不懂。端口一定要写/

if err != nil { //连接成功 err一定是nil否则就是报错

panic(err.Error()) //抛出异常

fmt.Println(err.Error())//仅仅是显示异常

}

defer db.Close() //只有在前面用了 panic 这时defer才能起作用,如果链接数据的时候出问题,他会往err写数据

rows, err := db.Query("select id,lvs from xiaorui")

//判断err是否有错误的数据,有err数据就显示panic的数据

if err != nil {

panic(err.Error())

fmt.Println(err.Error())

return

}

defer rows.Close()

var id int //定义一个id 变量

var lvs string //定义lvs 变量

for rows.Next() { //开始循环

rerr := rows.Scan(&id, &lvs) //数据指针,会把得到的数据,往刚才id 和 lvs引入

if rerr == nil {

fmt.Println("id号是",strconv.Itoa(id) + " lvs lvs是"+ lvs) //输出来而已,看看

}

}

insert_sql := "INSERT INTO xiaorui(lvs) VALUES(?)"

_, e4 := db.Exec(insert_sql,"nima")

fmt.Println(e4)

db.Close() //关闭数据库

}

mysql 报错10614_golang使用go-sql-driver实现mysql增删改操作-Go语言中文社区相关推荐

  1. flask对mysql数据库增删改查_flask后台框架1.4(mysql配置+数据库增删改查)-Go语言中文社区...

    mysql配置及问题 前面三份博客的笔记基本记录了所用到的基本操作,这里开始记录后台和数据库的交互,数据库我们用的是mysql然后的话mysql就不记录了因为很简单,要是没有安装学习的话,基本在网上找 ...

  2. IDEA连接Mysql报错: 未找到驱动程序类 ‘com.mysql.cj.jdbc.Driver‘.  Change driver class

    报错详细内容:未找到驱动程序类 'com.mysql.cj.jdbc.Driver'. Change driver class 报错原因:Mysql版本为5.0,找不到com.mysql.cj.jdb ...

  3. naticat连接mysql报错_「2509」Navicat连接mysql报错2509 - seo实验室

    2509 在Navicat中进行连接测试时,发现报错2509,还有乱码! mysql 2509 加密方式导致的报错,在8以后的版本默认的加密方式都改为了caching_sha2_password 此时 ...

  4. Ubuntu 安装 mysql 报错 update-alternatives: 错误: 候选项路径 /etc/mysql/mysql.cnf 不存在

    解决方法: sudo cp /etc/mysql/my.cnf /etc/mysql/mysql.cnf 偷梁换柱-! 如果想更新mysql的源方法如下: wget http://dev.mysql. ...

  5. go语言mysql删除记录_MySQL数据库删除操作-Go语言中文社区

    删除数据库 DROP DATABASE [IF EXISTS] 数据库名; 例如:删除school数据库 IF EXISTS 为可选,判断是否存在,如果不存在则会抛出异常 删除数据表 DROP TAB ...

  6. mysql实现自增字符串_Mysql实现字符串主键自增示例教程-Go语言中文社区

    /* Mysql数据库练习 需求:创建一张表,包含四个字段(pid,name,age,sex),然后使用存储过程实现添加数据,要求 1 pid 为自增主键 2 插入数据的时候值添加姓名和年龄 3 性别 ...

  7. natcat for mysql_用Navicat for mysql连接mysql报错1251-解决办法

    TP框架连接mongodb报错及解决办法 mongodb版本3.4.7 1.认证错误:Failed to connect to: localhost:27017: Authentication fai ...

  8. SQL语句对表中数据进行增删改操作[DML]

    文章目录 前言 一.SQL添加数据语句 二.SQL修改数据语句 三.SQL删除数据语句 总结 前言 整理一下SQL语句中增删改查操作的语句用法.先说一下简单的增删改操作,查询的话分类比较多,分开写.. ...

  9. linux系统sql语句报错_在linux下写的mysql无法插入,sql语句在复制中变'脏'了.

    1:问题故障描述 因为在linux下开发,所以修改mysql字段的时,用的phpmyadmin来直接修改生成修改后的sql,然后复制进word(libreoffice)后提交到项目管理系统, 同事发到 ...

最新文章

  1. 取消对 null 指针“l”的引用。_C++中的引用
  2. [转]CentOS 5.5下FTP安装及配置
  3. Jmeter 多台机器产生负载及问题解决方法
  4. python手机app 授权登录_Appium+unittest+python登录app
  5. 产品问答 | 入职一家公司,你的选择依据是什么?
  6. Java设计模式6:策略模式
  7. 微软MIX11大会第一天主旨以及新产品发布总结
  8. 原理图查看I2C设备地址以及使用STM32和Zephyr Driver进行IC通讯时的注意事项
  9. [Git]git教程
  10. Rust : cargo简介
  11. 降维系列之 MDS多维缩放 与 ISOMAP 等度量映射
  12. 基于Matlab数字图像处理微表情情绪识别系统
  13. 车牌号识别php+sdk,车牌识别SDK
  14. macOS Catalina系统下TexStudio自带PDF查看器的中文显示问题
  15. AI资源对接需求汇总:第2期
  16. mac屏保怎么不显示,mac屏保怎么关闭
  17. html浏览器pc端禁止缩放,阻止pc端浏览器缩放js代码
  18. 邮储银行的规模有多大?凭什么可以成为第6大国有银行?
  19. 酷我音乐盒在听一遍就自己默认下载…
  20. html 实现格子效果图,css 实现的九宫格图片展示

热门文章

  1. 源码安装nginx开启SSL功能
  2. 用了 HTTPS 就一定安全吗?HTTPS 原理分析——带着疑问层层深入
  3. @AUTORELEASEPOOL
  4. VS2012/13本地发布网站详细步骤(可带数据库)
  5. python字符串的美化_python字符串格式化
  6. java和php本质_JAVA和PHP的区别
  7. 获取本地 qt_好消息,可以使用 VS 进行 Qt 的跨平台开发啦!
  8. 【c语言】蓝桥杯算法提高 企业奖金发放
  9. 计算机系统的基本功能,计算机系统的主要功能是什么
  10. 华为鸿蒙去哪里更新,华为鸿蒙OS正式尝鲜版名单更新,升级?还是不升级?