go语言操作mysql数据库

Golang中操作MySQL的增强版:使用Go语言进行MySQL数据库操作 函数用于打开与数据库的连接,其中第一个参数指定数据库类型为MySQL,第二个参数指定数据库的连接信息。通过这些示例代码,您可以在Go语言中连接MySQL数据库、执行查询、插入、更新和删除等常见操作。在Go语言中,我们可以使用第三方库来增强对MySQL数据库的操作。本文将介绍如何使用Go语言进行MySQL数据库的连接、查询、插入、更新和删除等常见操作,并提供相应的源代码。一旦建立了与MySQL数据库的连接,我们可以使用。要更新MySQL数据库中的数据,我们可以使用。是一个占位符,可以通过后面的参数进行替换。 阅读详情

Golang要操作mysql数据库,首先需要在当期系统配置GOPATH,因为需要使用go get命令把驱动包下载到GOPATH下使用。首先配置好你的GOPATH,执行以下命令,下载安装mysql驱动,下载完成之后会在GOPATH下的src/github.com目录下

安装命令: go get  github.com/go-sql-driver/mysql

1 打开数据库连接,跟jdbc类似

db,error:=sql.Open("mysql","root:123456@tcp(localhost:3306)/beego?charset=utf8")
defer db.Close()
if error!=nil{
   	 fmt.Println("sql.Open error:",error)
   	 return
}

从前往后依次是 “用户名:密码@tcp(IP:端口)/数据库名?charset=utf8” ,同样的使用之后还是要关闭连接

2 查询操作

func Query(db *sql.DB){

	rows,err:=db.Query("select * from user")
	if err!=nil{
		fmt.Println("db.Query error:",err)
		return
	}

	for rows.Next() {
		var id int
		var name string
		var age int
		var address string
		var password sql.NullString
		//error1:=rows.Scan(&name)
		//rows.Columns()
		error1 := rows.Scan(&id, &age, &name, &address,&password)
		if error1 != nil {
			fmt.Println("rows.Scan error:", error1)
			return
		}
		fmt.Printf("id=%d,name=%s,age=%d,address=%s,password=%s\n", id,name,age,address,password.String)
	}
}

需要注意的是空值的问题,某个字段有为空的情况,需要声明数据类型为sql.NullString,取得数据后可以赋值给结构体或者变量,具体以实际需要为主

3  插入、修改、删除操作,三种操作都大同小异无非就是sql语句不同,这里已新增为例

func Insert(db *sql.DB,u1 User){
	stmt,pError:=db.Prepare("insert into user (age,name,address,password) values (?,?,?,?)")
	defer stmt.Close()
	if pError!=nil{
		fmt.Println("db.Prepare error:",pError)
		return
	}
	res,error:=stmt.Exec(u1.Age,u1.Name,u1.Address,u1.Password)
	if error!=nil{
		fmt.Println("stmt.Exec error:",error)
		return
	}
	flag,_:=res.RowsAffected()
	fmt.Println("受影响的行数:",flag)

}

下面是全部的代码:

package main
import (
	"database/sql"
	"fmt"
	_ "github.com/go-sql-driver/mysql"
)
type User struct {
	Name    string `db:"name"`
	Age     int
	Address string
	Password sql.NullString
}

func Insert(db *sql.DB,u1 User){
	stmt,pError:=db.Prepare("insert into user (age,name,address,password) values (?,?,?,?)")
	defer stmt.Close()
	if pError!=nil{
		fmt.Println("db.Prepare error:",pError)
		return
	}
	res,error:=stmt.Exec(u1.Age,u1.Name,u1.Address,u1.Password)
	if error!=nil{
		fmt.Println("stmt.Exec error:",error)
		return
	}
	flag,_:=res.RowsAffected()
	fmt.Println("受影响的行数:",flag)

}
func Query(db *sql.DB){

	rows,err:=db.Query("select * from user")
	if err!=nil{
		fmt.Println("db.Query error:",err)
		return
	}

	for rows.Next() {
		var id int
		var name string
		var age int
		var address string
		var password sql.NullString
		//error1:=rows.Scan(&name)
		//rows.Columns()
		error1 := rows.Scan(&id, &age, &name, &address,&password)
		if error1 != nil {
			fmt.Println("rows.Scan error:", error1)
			return
		}
		fmt.Printf("id=%d,name=%s,age=%d,address=%s,password=%s\n", id,name,age,address,password.String)
	}
}
func main() {


   db,error:=sql.Open("mysql","root:123456@tcp(localhost:3306)/beego?charset=utf8")
   defer db.Close()
   if error!=nil{
   	   fmt.Println("sql.Open error:",error)
   	   return
   }

	Query(db)

	//Insert(db,User{"周杰伦",28,"上海市徐汇区","654321"})



}

 

基于Termux的Android平台OpenClaw部署:移动端AI助理实现 本文介绍了在Android设备上通过Termux部署OpenClaw AI助理的方案。Android设备的便携性、Termux提供的完整Linux环境以及多样化的硬件配置使其成为理想的部署平台。文章详细分析了不同级别Android设备的硬件规格(从入门级到旗舰级),并提供了最低/推荐配置要求。部署步骤包括Termux安装初始化、Python环境配置以及性能优化建议。该方案充分利用Android设备的传感器和电池供电优势,为移动办公、学习等场景提供了低成本、高便携性的AI助理解决方案。 阅读详情

相关推荐

ROS新手必看:5分钟搞定URDF小车建模(附Rviz可视化调试技巧)

本文为ROS新手提供了快速构建URDF机器人模型的实战指南。通过一个完整的两轮差速小车建模案例,详细解析了URDF的核心语法、Rviz可视化调试技巧以及常见问题排查方法,帮助初学者快速掌握ROS机器人建模与可视化调试的核心技能。

weixin_29079643的博客 248

GO语言操作MySQL

最近工作中有使用到通过Go语言创建MySQL数据库连接的内容,特此记录便于日后查阅。 1、定义数据库结构体 type DBConfig struct { Dsn string `json:"dsn"` MaxIdle int `json:"maxIdle"` } 2、数据库工具 package db import ( "context" "database/sql" "sync" "time" _ "github...

专注基础架构领域 629

MediaPipeUnityPlugin(最新版)摇摆拳人脸识别

MediaPipeUnityPlugin(最新版)摇摆拳人脸识别

不忘初心 方得始终 2979

GO操作MYSQL

驱动包 MySql驱动 Go语言中的database/sql包不包含数据库驱动,使用时必须注入一个数据库驱动。 下载依赖 go get -u github.com/go-sql-driver/mysql 使用mysql驱动 语法: func Open(driverName, dataSourceName string) (*DB, error) 示例代码: impor...

aiduo4911的博客 417

基因的富集分析

通过RNA_seq差异表达分析等获得一组基因,想要进一步了解这些基因可能参与哪些生物学过程,具有哪些功能,一般就会用到基因的富集分析了。现在小麦基因注释信息已经可以获得,目前来看包括两套。一个是TGACv1,另一个就是IWGSC1.0。需要用到一个叫“clusterProfiler”的R包。下面用到的数据集来自TGACv1。1、安装source("https://bioconductor.org/b

xxxxx 1万+

量化实战:如何用Barra多因子模型给你的投资组合做一次‘风险体检’?

本文详细介绍了如何利用Barra多因子模型对投资组合进行全面的风险体检,帮助投资者识别行业和风格因子的风险暴露。通过实战案例和Python代码示例,展示了数据采集、风险归因和组合优化的完整流程,提升投资组合的风险调整收益。

weixin_27215337的博客 323

执行Go下载安装Mysql的驱动包问题解决

go中安装mysql驱动

丘鸣山的博客 2876

DSP TMS320FF28335程序从FLASH中拷贝到RAM中的两种方法及FLASH烧写方法

程序从FLASH中拷贝到RAM中执行的方法 DSP的程序下载执行方式有两种:一种是下载到RAM中在线执行,一种是下载到FLASH中执行。在RAM中执行时,具有执行速度快,可以无限次下载的特点,但是RAM的特点是掉电丢失数据。FLASH具有掉电不丢失数据的特点,但是同时存在执行速度慢和擦写次数有限的缺点。因此综合两者的特点,在DSP的开发过程中一般会结合使用两者。在前期程序调试过程,由于需要频繁的

AEECREN的博客 1万+

一文教你Go语言如何轻松使用Mysql

在本文中,我们将介绍如何在Go语言中使用database/sql包以及相关的数据库驱动程序来进行数据库连接和操作。我们将使用MySQL数据库作为示例,展示使用go-sql-driver/mysql驱动进行基本的数据库操作。

weixin_59801183的博客 1487

新手网工别慌!手把手带你搞定华为OLT开局配置(从登录到业务下发全流程)

本文为新手网络工程师提供华为OLT设备开局配置的详细指南,涵盖从设备登录、基础配置到业务部署的全流程。通过实战案例和常见问题排查,帮助读者快速掌握华为OLT配置技巧,确保业务顺利开通。

weixin_33721344的博客 481

DSPy 入门: 再见提示,你好编程

DSPy("Declarative Self-improving Language Programs (in Python)",发音为 "dee-es-pie")[1] 是斯坦福大学 NLP 研究人员开发的 "基础模型编程 "框架。它强调编程而非提示,并将构建基于 LM 的管道从操作提示转向编程。因此,它旨在解决构建基于 LM 应用程序时的脆弱性问题。DSPy 还将程序的信息流与每一步的参数(提示和 LM 权重)分离开来,为构建基于 LM 的应用程序提供了更系统的方法。

具身机器人和通用AI 3482

Go语言学习笔记—golang操作MySQL数据库

golang操作MySQL数据库

qq_39280718的博客 2514

uniapp:解决微信小程序包体积超过2M的优化方案+详解分包问题,编译小程序体积大于2M不能上传和预览提示体积太大的处理教程,uniApp微信小程序主包过大问题如何解决(排查可疑点+分包+最小改动)

uniapp微信小程序开发,如何解决打包太大无法预览发布的问题,uniApp微信小程序包体积超过2M的优化方法,uni-app打包微信小程序主包超2M终极解决方案,使用uniapp开发微信小程序使用uni_modules导致主包文件过大,无法发布的解决方法,UniApp开发的微信小程序主包过大问题及解决方案 编译小程序时Node-modules被打入主包,小程序体积大于2M不能上传和预览,怎么处理,解决微信小程序主包太大问题,微信小程序中主包和分包过大,详解分包问题,uni-app 微信小程序发布时,主包超

✅ 精选推荐文章 5066

Go语言介绍以及如何在Go语言中操作MySQL数据库

Go语言,也称为Golang,是由Google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言。

double222222的博客 2045

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

工业级闭环霍尔电压传感器VSA102-G270T02-I选型与电路设计实战

电压传感器是工业控制与电力监测中实现高压安全采集的核心器件,其原理是将高电压通过隔离转换为低压标准信号。闭环霍尔技术凭借零磁通反馈机制,具备高线性度、低温漂和快速响应特性,广泛应用于光伏逆变器、储能电池组及电机驱动等场景。选型时需重点关注额定输入、精度温漂、隔离耐压与响应带宽等指标,同时原边限流电阻和副边测量电阻的精度与散热设计直接决定系统整体性能。本文以VSA102-G270T02-I为例,深入拆解闭环霍尔电压传感器的选型要点、电路设计及调试避坑经验。

weixin_34130389的博客 363

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

browser插入数据 db_使用GO语言操作MySQL数据库

学习之前请自行安装 GO语言环境和MySQL数据库环境,编码推荐使用个Goland作为IDE,使用Navicat 作为数据库可视化工具。1、新建数据库和数据库表命令行:mysql -uroot -p //连接数据库,接着需要输入密码 create database mytest; //创建数据库mytest use mytest; //切换到新数据库执行成功...

weixin_35377028的博客 202

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

go语言mysql操作_golang数据库操作

一、准备1、MySQL :数据库服务端3、连接数据库并创建表二、引入driverimport("database/sql"_"github.com/go-sql-driver/mysql"// "_" 引入后面的包名 而不直接使用里面的定义的函数、变量、资源等)三、连接数据库db,err := sql.Open("mysql","用户名:密码@tcp(127.0.0.1:3306)/demo?ch...

weixin_42311000的博客 230

使用go语言操作mysql数据库

1.下载并导入数据库驱动包 官方不提供实现,先下载第三方的实现,点击这里查看各种各样的实现版本。 这里选择了Go-MySQL-Driver这个实现。地址是:https://github.com/go-sql-driver/mysql/。 然后按照里面的说明下载驱动包: $ go get github.com/go-sql-driver/mysql 最后导入包即可: import "d...

p312011150的博客 873

go 语言 mysql_golang学习之旅:使用go语言操作mysql数据库

1.下载并导入数据库驱动包官方不提供实现,先下载第三方的实现,点击这里查看各种各样的实现版本。这里选择了Go-MySQL-Driver这个实现。地址是:https://github.com/go-sql-driver/mysql/。然后按照里面的说明下载驱动包:$ go get github.com/go-sql-driver/mysql最后导入包即可:import "database/sql"i...

weixin_34022406的博客 150

Go语言操作MySql数据库

go-sql-driver/mysql库是Go语言官方推荐的MySQL驱动库,可以很方便地实现对MySQL数据库的连接和操作。本文记录以下使用go-sql-driver/mysql数据库驱动来操作mysql数据库。

hsy12342611的专栏 5754

15.Go语言编程之go-sql-driver操作MySQL数据库实践

本章目录:Go语言标准库操作MySQL数据库1.MySQL驱动下载2.MySQL驱动格式3.MySQL初始化连接4.MySQL的CRUD操作库表准备单行查询多行查询插入/更新/删除数据综合实践5.MySQL预处理基础介绍SQL注入示例演示6.MySQL事务处理Go语言标准库操作MySQL数据库快速了解 MySQL 数据库MySQL 是目前主流关系型的数据库,它的胞胎兄弟 ...

全栈工程师修炼指南-IT知识分享 2167

Go语言中的MySQL操作:database/sql实战

使用使用参数化查询防止SQL注入正确处理事务,确保数据一致性合理配置连接池参数及时关闭数据库连接处理所有可能的错误情况。

好代码自己会说话,烂代码才需要注释来圆谎 4334

Go语言学习笔记(Golang操作MySQL数据库)

GO连接MySQL 通过GO页面作为客户端访问数据库 1.因为GO语言没有提供任何官方数据库驱动,所以需要安装第三方函数库。 2.由于在github上安装,所以需要安装git软件,安装过程一直点击下一步即可,安装完需要配置环境变量 git自行下载 配置gopath环境变量,配置完git到的包自动下载到那里 安装完git后使用get指令下载第三方函数库 一.安装数据库驱动 在cmd命令窗口中输入如下...

塞外听雪 749

golang 执行sql语句_Go语言学习笔记(Golang操作MySQL数据库)

GO连接MySQL通过GO页面作为客户端访问数据库1.因为GO语言没有提供任何官方数据库驱动,所以需要安装第三方函数库。2.由于在github上安装,所以需要安装git软件,安装过程一直点击下一步即可,安装完需要配置环境变量git自行下载配置gopath环境变量,配置完git到的包自动下载到那里安装完git后使用get指令下载第三方函数库一.安装数据库驱动在cmd命令窗口中输入如下命令安装驱动go...

weixin_34505281的博客 3166

go database/sql sql-driver/mysql 操作

转载:https://www.cnblogs.com/jackylee92/p/6209596.html 这里使用的是github.com/Go-SQL-Driver/MySQL, 所以需要下载一个github.com/Go-SQL-Driver/MySQL 引入 database/sql 和github.com/Go-SQL-Driver/MySQL 这里实现了对数据库的 增、删、改...

Flyer的后花园 797
上一篇: python开发之web篇-flask框架操作mysql数据库
下一篇: spark2.4的安装和基本使用
青蛙小王子
博客等级 码龄16年 239粉丝 311原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值