准备工作:创建数据库

Go语言连接mysql

安装包

go get "gethub.com/go-sql-driver/mysql"
go get "gethub.com/jmoiron/sqlx"

Exec增删改

//连接数据库信息
var (userName  string = "root"passWord  string = "123456"idAddress string = "127.0.0.1"port      string = "3306"dbName    string = "go_text"charset   string = "utf8"
)// 连接数据库这里用*来保证连接的是同一个对象
//root:123456@tcp(127.0.0.1:3306)/go_text?charset=utf8
func connectMySQL() *sqlx.DB {dbstr := fmt.Sprintf("%s:%s@tcp(%s:%s)/%s?charset=%s", userName, passWord, idAddress, port, dbName, charset)DB, err := sqlx.Open("mysql", dbstr)fmt.Println(err)ping(DB)return DB}
func ping(DB *sqlx.DB) {err := DB.Ping()if err != nil {fmt.Println("ping failed")} else {fmt.Println("ping success")}
}
func textExec(mysqlDB *sqlx.DB) {//Exec 指行sql语句insertSQL := "insert into  user(userid,username,password,avatar,create_time,update_time)values(?,?,?,?,?,?)"result, err := mysqlDB.Exec(insertSQL, 10000, "周南", "123456", "ks.png", "2022-11-11 11:11:11", "2022-11-11 11:11:11")if err != nil {fmt.Println("数据插入失败", err)return}id, _ := result.LastInsertId()fmt.Println(id)//修改updateSQL := "update user set username='打阿伟'where id =1"result2, err := mysqlDB.Exec(updateSQL)rowNum, _ := result2.RowsAffected() //受到印象的行数fmt.Println("更新成功,affected rows", rowNum)//删除deleteSQL := "delete from user where id =2"result3, err := mysqlDB.Exec(deleteSQL)rowNum1, _ := result3.RowsAffected() //受到印象的行数fmt.Println("删除成功,affected rows", rowNum1)
}

查询

Query查询

unc textQuery(mysqlDB *sqlx.DB) {querySql := "select *from user"rows, err := mysqlDB.Query(querySql)if err != nil {fmt.Println("数据查询失败", err)return}fmt.Println(rows)//返回一个结果集rows//next来获取结果//要关闭结果集for rows.Next() {var id, userid intvar username, password, avatar, create_time, update_time stringrows.Scan(&id, &userid, &username, &password, &avatar, &create_time, &update_time)fmt.Println(id, userid, username, password, avatar, create_time, update_time)}rows.Close()
}

Get和Select查询

mysqlDB := connectMySQL()defer mysqlDB.Close()type user struct {Id         int    `db:"id"`UserId     int    `db:"userid"`UserName   string `db:"username"`Password   string `db:"password"`Avatar     string `db:"avatar"`CreateTime string `db:"create_time"`UpdateTime string `db:"update_time"`}userData := new(user)mysqlDB.Get(userData, "select * from user where id =1")fmt.Println(*userData)var userSlice []usererr := mysqlDB.Select(&userSlice, "select*from user")if err != nil {fmt.Println(err)}for i := range userSlice {fmt.Println(userSlice[i])}}

xorm框架连接mysql实现crud相关推荐

  1. pycharm中django框架连接mysql数据库

    1.首先下载安装pymysql模块. pip install pymysql 如果出现 timeout 超时可以使用其他的资源下载: pip install 模块名 -i https://pypi.d ...

  2. struts2 mysql_Struts2连接Mysql的Crud使用

    今天分享的是struts2框架中增删改查的用法: 一:利用Struts2框架 1.1在pom.xml中导入相关依赖 4.0.0 com.ht T224_struts war 0.0.1-SNAPSHO ...

  3. ABP框架连接Mysql数据库

    开始想用Abp框架来搭建公司的新项目,虽然一切还没有定数,但是兵马未动,粮草先行,我先尝试一下整个过程,才能够更好的去争取机会. 此次技术选型:Abp(Asp.Net core mvc)+mysql( ...

  4. abp框架连接mysql报错_ABP框架应用-MySQL数据库集成

    1.  框架以外依赖包引入 1.1.  Pomelo.EntityFrameworkCore.MySql 1.2.  Pomelo.EntityFrameworkCore.MySql.Design 2 ...

  5. 十八、Express框架连接MySQL数据库操作

    在上一篇中已经在Node.js中引入使用了mysql模块进行数据库的基本操作,在本篇当中在Express框架中来连接数据库以及操作数据库: Express 项目环境 这里是通过全局安装Express框 ...

  6. Django框架连接MySQL数据库

    pymysql安装 pymysql就是作为python3环境下mysqldb的替代物,进入命令行,使用pip安装pymysql pip install pymysql 在主项目的文件中设置连接 在项目 ...

  7. ssm框架连接mysql数据库的具体步骤_ssm框架搭建和整合流程

    Spring + SpringMVC + Mybatis整合流程 1      需求 1.1     客户列表查询 1.2     根据客户姓名模糊查询 2      整合思路 第一步:整合dao层 ...

  8. Flask框架连接mysql数据库

    1.安装mysql 下载安装包进行安装,可以参考  安装mysql 安装完成后修改密码 2.登录数据库 进入到安装目录bin下,打开cmd窗口 在cmd出口中输入命令 mysql -u root -p ...

  9. springboot整合jpa之连接MySql实现crud

    整体思路:搭建springboot一定要注意版本问题,各个jar包之间是否兼容.搭建可以从上往下进行,是一个从Controller层和Service层-->Dao层的一个过程. 1.添加mave ...

最新文章

  1. python爬虫实战案例-Python爬虫实战案例:手机APP抓包爬虫
  2. w3wp进程发生死锁ISAPI aspnet
  3. Linux 环境编程 用户层定时器使用二 timer_create的使用
  4. C++ Primer 5th笔记(chap 18 大型程序工具) using指示
  5. c语言获取当前日期和时间
  6. 11gR2 RAC手动添加节点数据库实例
  7. 实战绕过宝塔PHP disable_function 限制getshell
  8. codeforces1440 D. Graph Subset Problem
  9. web系统四层结构中服务器端,基于.NET平台构建四层B/S结构的动态网站
  10. 【TSP】基于matlab混合粒子群算法求解旅行商问题【含Matlab源码 397期】
  11. 语音库构建_推动数据采用,以通过语音接口构建更好的产品
  12. Python植物大战僵尸源码分享
  13. 西门子PLC编写抢答系统
  14. Python标准库大全
  15. 【正本清源】算力大战根本就从未开始过!BCH分叉事件之技术细节七问
  16. 开机出现recovering journal解决办法
  17. android波纹动画,Android实现水波纹特效
  18. Linux:冯诺伊曼体系结构 | 操作系统 | 显卡 | 主板
  19. 藤子不二雄博物馆之行
  20. 联想电脑安装Ubuntu后无法进入bios

热门文章

  1. 如何解决Office365无法登录
  2. 为什么每次启动Word总是进入“ 安全模式”?
  3. 10 – 音效的添加
  4. Python 类属性与实例属性
  5. 重置电脑解决“win10无法正常开机”的问题
  6. 轩辕传奇服务器维护,轩辕传奇3月12日部分服务器停服更新 黄金猪与招财兔活动来袭...
  7. 产品思考 - 多多果园的新玩法
  8. vue2.0有关时间戳 时间的公共方法(YYYY-MM-DD HH:mm:ss,YYYY-MM-DD,HH:mm:ss,转化为 utc 时间,utc转标准时间,相对时间,日/月/年 时:分:秒)
  9. 计算机二维全息图原理,计算机辅助合成全息图.pdf
  10. Java中的八大包装类(Wrapper)