当使用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. 华为(苏州)人工智能创新中心正式揭牌
  2. Java 8 - 07 复合 Lambda 表达式
  3. SharePoint Calendar Webparts
  4. NTP时间服务器安装
  5. 快速排序算法-php实现
  6. 《高效程序员的45个习惯》-之二
  7. JavaSE——XML与JSON(语法格式、解析内容)
  8. Huffman编码的设计与实现
  9. 一加Ace渲染图曝光:大眼三摄+150W超快闪充
  10. GTK+ tutorial
  11. 用电脑更新手机ios系统_macOS 11 正式版体验:大更新!苹果把 iOS 风格搬到了电脑上...
  12. iscsi:IO操作流程(三)
  13. %Error opening tftp://255.255.255.255/network config
  14. Apache Traffic Server服务搭建
  15. 英雄联盟加载的时候特卡,排查记录:win10那些破玩意
  16. 冰冻三尺,非一日之寒。数据解析——xpath(2)
  17. Linux date命令-d、--date选项接受的时间描述字符串的格式详解
  18. ELK企业应用-ekl快速搭建-kibana
  19. 百度新闻爬虫搜索引擎实战---爬虫篇(2)
  20. 自建团队app公司外包免编程app打包平台优缺点分析

热门文章

  1. Python自制随机食物生成器(食物可自拟)
  2. 世界上第一台计算机的速度,计算机IBM的蓝色基因(BlueGene/L),速度是世界上第一台电子计算机ENIAC的()倍...
  3. php中插入表格 标签,列表,表格,添加表单及标签用法-2019.9.1
  4. java毕业设计C语言程序设计》在线自学习系统Mybatis+系统+数据库+调试部署
  5. DataGrip使用
  6. 高温报警c语言程序,51单片机实验程序:LCD1602显示温度报警
  7. ip route 路由命令详解
  8. 朴素贝叶斯算法实现英文文本分类
  9. opensuse 关闭防火墙
  10. Laypage完整分页示例