go语言如何连接数据库

文章目录

  • 安装驱动
  • 连接数据库
  • 查询表
    • 结果
  • 插入
    • 结果
  • 删除
    • 结果

安装驱动

go get github.com/go-sql-driver/mysql
import ("database/sql""fmt"_ "github.com/go-sql-driver/mysql"
)

连接数据库

	//用户名:密码^@tcp(地址:3306)/数据库db, err := sql.Open("mysql", "root:123456%^@tcp(39.107.87.114:3306)/book_manager?charset=utf8")if err!=nil {fmt.Println(err)return}   

查询表

	//表结构type info struct {id int `db:"id"`name string `db:"name"`author string `db:"author"`}   //查询表rows,err:=db.Query("SELECT * FROM book")//遍历打印for rows.Next(){var s infoerr=rows.Scan(&s.id,&s.name,&s.author,)fmt.Println(s)}//用完关闭rows.Close()          

完整代码

结果

[kou@python golang]$ go run go_mysql.go 
{4 三国演义 罗贯中}

插入

	//执行MySql语句result,err:=db.Exec("INSERT INTO book(id,name,author)VALUES (?,?,?)",2,"将进酒","李白")if err != nil {panic(err)}   fmt.Println(result)for rows.Next(){var s infoerr=rows.Scan(&s.id,&s.name,&s.author,)fmt.Println(s)}   rows.Close()
}  

结果

[kou@python golang]$ !g
go run go_mysql.go 
{4 三国演义 罗贯中}
{0xc0000a2100 0xc000016390}
[kou@python golang]$ !ggo run go_mysql.go 
{2 将进酒 李白}
{4 三国演义 罗贯中}panic: Error 1062: Duplicate entry '2' for key 'PRIMARY'goroutine 1 [running]:
main.main()/home/kou/golang/go_mysql.go:32 +0x4fa
exit status 2
[kou@python golang]$ !vi
vim go_mysql.go 

删除

     db.Exec("DELETE FROM book where id=?", 2)rows,err:=db.Query("SELECT * FROM book")for rows.Next(){var s infoerr=rows.Scan(&s.id,&s.name,&s.author,)fmt.Println(s)}

结果

[kou@python golang]$ !g
go run go_mysql.go 
{4 三国演义 罗贯中}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/382422.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在windows下,编译可访问https的libcurl静态库过程

1. 首先编译openssl静态库 整个过程用的是 vs2015命令提示工具 需要安装perl 下载地址:添加链接描述 解压后, 在 openssl-1.0.2e目录下创建develop这个文件夹, cd到 openssl-1.0.2e目录下, a.配置编译文件和模式 执行 perl Co…

Go语言爬虫项目将结果写入MySql数据库

来源于Google资深工程师深度讲解Go语言 package mainimport ("fmt""io/ioutil""net/http" )const url "http://www.zhenai.com/zhenghun"func main() {//发送get请求resp, err : http.Get(url)if err ! nil {panic(err)}//关闭通道d…

go语言学习路径

个人记录 go语言如何连接数据库:增删改查 Go语言爬虫项目将结果写入MySql数据库 go语言急速入门

在windows上使用go编译dll文件,供C++调用

C项目是win32的,所以go的编译环境也要改成win32的 cmd下,修改环境变量: set GOARCH386 set CGO_ENABLED1 使用go env 查看是否生效参考:https://bbs.csdn.net/topics/394513992. 2. 安装编译环境 MinGW下载安装gcc,g编译器 参考&…

go语言急速入门

Go 语言极速入门1 - 环境搭建与最简姿势 Go 语言极速入门2 - 基础语法 Go 语言极速入门3 - 内建容器 Go 语言极速入门4 - 面向对象 Go 语言极速入门5 - 面向接口 Go 语言极速入门6 - 闭包 Go 语言极速入门7 - 资源管理与错误处理 Go 语言极速入门8 - Goroutine Go 语言极速入门…

windows远程桌面mstsc使用 代理

转自 https://blog.csdn.net/bodybo/article/details/6638005

go语言扫描四位数可用域名

域名注册查询接口(API)的说明 原文出处 域名查询 接口采用HTTP,POST,GET协议: 调用URL:http://panda.www.net.cn/cgi-bin/check.cgi 参数名称:area_domain 值为标准域名,例:hichina.com 调用…

cmake构建工具 初步01

记录下cmake学习过程,以后还会补充 单目录单文件 demo1 目录下只有一个a1.cpp, 如下图 [rootlocalhost demo1]# tree . ├── a1.cpp └── CMakeLists.txt编写CMakeLists.txt 1 CMAKE_MINIMUM_REQUIRED(VERSION 2.8.12)2 3 PROJECT(demo1)4 5 ADD_EXECUTABLE(d…

Mysql5.7后的password加密和md5

5.7之后 password函数旧版16位,新版41位,可用select password(‘123456’)查看。md5加密算法,只有16位和32位两种 authentication_string 且5.7之后移除了password,它采用了新的算法 5.7之前 mysql> select user,host,pas…

用python写的简单的http文件服务器demo

import socket import os import re import time from multiprocessing import Processclass CHttpServer(object):"""Httpserver服务端类"""def __init__(self):self.m_serverSocket socket.socket(socket.AF_INET,socket.SOCK_STREAM)self.m_…

从《四驱兄弟》到“联想中国”

《四驱兄弟》 小学的时候看过一个日本的动画片叫四驱兄弟,里面就是一群小朋友代表国家各种比赛,其中让我象比较深刻的是他把美国队描述的非常邪恶,各种破坏别人的车子,通过卑鄙手段取得胜利。然后最后好像是正义战胜邪恶的剧情还…

Mac SecureCRT解决中文乱码

下载地址 https://xclient.info/s/navicat-premium.html#versions SecureCRT解决中文乱码问题 在设置中设置为utf-8之后,还需要 $ sudo vi /etc/profile $打开文件,最后一行添加export LANGzh_CN.UTF-8

音视频之使用sonic.cpp实现音频倍速播放功能

sonic.cpp 是一个音频处理库,可以实现倍速播放。 如果单纯通过修改pcm的采样率来实现音频倍速播放的话,就会出现声音变调的情况。 以下是通过采集windows 虚拟声卡获取到的音频数据, 我的声卡采样率是44100次/秒,audio_buffer_si…

SecurtCRT连接服务器自动断开

mac Terminal-->Anti-idle-->send protocol NO-OP 60勾中

位图原理、代码实现及应用实例

位图的原理: 在位图中采用比特位表示对应的元素存在或者不存在 0:不存在 1:存在例如一个int整数有32个比特位可以表示0-31个整数。 再举一个例子 存入的数字为8988 首先: 8988/32 280 其次: 8988%32 28 再来一个例…

通过修改注册表,实现网页链接中的私有协议启用本地exe进程

私有协议为 coffeeclass://xxxxxx.mp4 注册表如下 Windows Registry Editor Version 5.00[HKEY_CLASSES_ROOT\coffeeclass] "coffeeClass Protocol" "URL Protocol"""[HKEY_CLASSES_ROOT\coffeeclass\DefaultIcon] "D:\\Program Files (x…

布隆过滤器的原理、应用场景和源码分析实现

原理 布隆过滤器数据结构 布隆过滤器是一个 bit 向量或者说 bit 数组,长这样: 如果我们要映射一个值到布隆过滤器中,我们需要使用多个不同的哈希函数生成多个哈希值,并对每个生成的哈希值指向的 bit 位置 1。 例如针对值 “baid…

判断一个数字是否存在于某一个数据之中

哈希表 这个没啥说的,后面补充 位图 https://blog.csdn.net/csdn_kou/article/details/95337121 布隆过滤器 哈希表位图 https://blog.csdn.net/csdn_kou/article/details/95371085

根据语句自动生成正则表达式

自动生成 http://www.txt2re.com 速查手册 https://www.jb51.net/shouce/jquery/regexp.html