当使用go语言对数据进行连接时需要几部操作:

1.数据库侧:

需要允许远程连接,具体操作方法详见:本地主机连接阿里云数据库(自建数据库)排雷_秋为春的博客-CSDN博客

2.GO侧

1)需要引入go-sql-driver驱动

常见的引入方法有两种:

①通过命令行——前提是go的各个环境变量要配置好

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

②通过git进行复制

首先你的电脑要支持git这个命令,如果不支持需要下载安装Git下载地址给你放这了:

Git for Windows

下载安装后,直接把驱动Git到go path目录下:

git clone github.com/go-sql-driver/mysql

之后在go中使用用这个驱动:

import ("database/sql""fmt"_ "mysql"     //引入
)

验证是否可以使用go对数据库进行操作:

首先创建一个数据库:

create database test;

以及一个表:

create table table(id int(4),name char(20))

通过GO代码对数据库进行简单操作:

语法详解:


sql.open(驱动名,数据源dsn)(*DB,err)数据源语法:"用户名:密码@[连接方式](主机名:端口号)/数据库名"注意:open()在执行时不会真正的与数据库进行连接,只是设置连接数据库需要的参数
ping()方法才是连接数据库

代码操作: 

package main
import (
"database/sql"
"fmt"
_ "mysql"
)
func main() {db, err := sql.Open("mysql", "root:xxx@(xxxx:3306)/test")checkErr(err)// insertstmt, err := db.Prepare("INSERT ta SET id=?,name=?")checkErr(err)res, err := stmt.Exec(1, "wang")checkErr(err)// updatestmt, err = db.Prepare("update ta set name=? where id=?")checkErr(err)res, err = stmt.Exec("wang", 1)checkErr(err)affect, err := res.RowsAffected()checkErr(err)fmt.Println(affect)// queryrows, err := db.Query("SELECT * FROM ta")checkErr(err)for rows.Next() {var uid intvar username stringerr = rows.Scan(&uid, &username)checkErr(err)fmt.Println(uid)fmt.Println(username)}// deletestmt, err = db.Prepare("delete from ta where id=?")checkErr(err)res, err = stmt.Exec(1)checkErr(err)// queryrows, err = db.Query("SELECT * FROM ta")checkErr(err)for rows.Next() {var uid intvar username stringerr = rows.Scan(&uid, &username)checkErr(err)fmt.Println(uid)fmt.Println(username)}db.Close()
}
func checkErr(err error) {if err != nil {panic(err)}
}

验证:

GO连接数据库--踩坑(超详细)相关推荐

  1. 第91课:SparkStreaming基于Kafka Direct案例实战和内幕源码解密 java.lang.ClassNotFoundException 踩坑解决问题详细内幕版本

    第91课:SparkStreaming基于Kafka Direct案例实战和内幕源码解密    /* * *王家林老师授课http://weibo.com/ilovepains */  每天晚上20: ...

  2. pytorch无坑超详细图文CPU版小白安装教程(配gpu版链接、conda命令教程)

    想安装gpu版本的朋友们请移步gpu版pytorchan安装教程直达 文章目录 创建.激活.退出.删除环境 法一:官网默认指令安装(可能比较慢) 法二:更换清华源下载 法三:下载包安装 版本对应问题 ...

  3. 【避坑 超详细】Ubuntu使用python的selenium以及chrome模拟真实浏览器访问网页

    在Ubuntu系统上使用python的selenium,另外加上chrome和chromedriver,用于模拟浏览器访问网页. 下面教程在阿里云的Ubuntu 14.04 64位测试成功,其他lin ...

  4. 从无到有 Ubuntu16.04 18.04 20.04安装+Todesk+Chrome+NVIDIA驱动+CUDA+Cudnn+Anaconda3+Pycharm 超详细教程+踩坑问题

    从无到有 Ubuntu16.04 18.04 20.04安装+Todesk+Chrome+NVIDIA驱动+CUDA+Cudnn+Anaconda3+Pycharm 超详细教程+踩坑问题(有部分图片忘 ...

  5. MMDetectionV2 + Colab 超详细教程及踩坑实录

    文章目录 前言 一.环境配置 二.准备自己的数据集 Aug.14更新 三:修改config文件 3.1 文件结构 3.2 (本地)修改config文件 3.2.1 (本地)构造自己模型的权重文件 3. ...

  6. Nvidia Jetson TX2 详细刷机教程及踩坑记录(Jetpack3.3,python2.7,torch1.2,torchvision0.2.2)

    本文总结了自带系统安装cuda等深度学习环境和使用jetpack3.3刷机的步骤,虽然自己的代码没用上,但有需要的人可以参考一下. PS:Jetpack4.5的刷机教程请移步另一篇文章: xyl-50 ...

  7. 厚积薄发打卡Day55 :[狂神]Redis详细教程(上)<从Nosql 概述到WSL安装Redis踩坑记录>

    视频教程:[狂神说Java]Redis最新超详细版教程通俗易懂 Nosql概述 时代背景: 1.单机数据库时代 90年代:一个基本的网站访问量一般不会太大,单个数据库完全足够! 那个时候,更多的去使用 ...

  8. mysql连接idea详细教程_idea配置连接数据库的超详细步骤

    学习时,使用IDEA的时候,需要连接Database,连接时遇到了一些小问题,下面记录一下操作流程以及遇到的问题的解决方法. 一. 连接操作 简介:介绍如何创建连接,具体连接某个数据库的操作流程. 1 ...

  9. rtl8811au黑苹果10.15_荣耀MagicBook I5黑苹果折腾记(超详细教程与排坑)

    本文主要介绍如何安装Win10 + Mac OS双系统,以及安装过程中可能遇到的一些坑. 本人的机型是:MagicBook I5-8250U MX150独显 8GB+256GB (VLT-W50),更 ...

最新文章

  1. debugInit.c tomcat启动错误
  2. HDU1074 Doing Homework
  3. sysctl mysql_服务器优化——Sysctl、Apache、MySQL
  4. win7下安装Oracle10g解决方案
  5. 大家狂欢吧,我的Google帐号悲剧了
  6. MySQL数据库搜题_智慧树_MySQL数据库设计与应用_搜题公众号
  7. 【超强、超详细Redis入门教程】
  8. PHP教程5-安装PHPNow
  9. 【经典面试题】css如何画一个三角形?
  10. Java并发学习笔记19 线程池 ThreadPoolExecutor
  11. 饥荒无条件制作下载_饥荒巨人国无条件制造版
  12. 关于AIDL接口定义中oneway的修饰符源码解析.
  13. 生产计划:制定您的生产流程
  14. C语言中extern用法详解
  15. 软件架构设计分层模型和构图思考
  16. postfix+Dovecot自建邮箱服务器
  17. 转贴:放心走吧,谷歌中国——谷歌员工所写博客
  18. 那一抹夕阳好耀眼,却遮不住你的柔情(极品小青蛙)
  19. 基于C语言开发的p2p聊天软件系统 课程报告+客户端服务端源码
  20. 【算法数据结构专题】「延时队列算法」史上手把手教你针对层级时间轮(TimingWheel)实现延时队列的开发实战落地(下)

热门文章

  1. 嵌入式STM32--实验三 、通用定时器实验
  2. sniffer待实现的功能
  3. 计算机应用基础课程有必要学吗,计算机应用基础课程教学心得.doc
  4. Billboard广告、警示牌、海报节点
  5. 请问三个女儿的年龄分别是多少
  6. 奇虎360市值达搜狐两倍
  7. Python之dlib库的简介、安装(无需下载VS)
  8. 向7nm时代的性能巅峰出击!ARM Cortex-A76架构解析
  9. Python while循环
  10. Windows下 find 参数错误