jmoiron sqlx mysql_mysql 一(或其他数据库)
连接mysql(用sqlx库,不仅支持mysql,第一个参数还可以是别的数据库):
database, err := sqlx.Open("mysql", "root:password@tcp(127.0.0.1:3306)/dbname")
insert操作:
r, err := Db.Exec("insert into person(username, sex, email)values(?, ?, ?)", "stu001", "man", "stu01@qq.com")
package main
import (
"fmt"
_ "github.com/go-sql-driver/mysql"
"github.com/jmoiron/sqlx"
)
type Person struct {
UserId int `db:"user_id"`
Username string `db:"username"`
Sex string `db:"sex"`
Email string `db:"email"`
}
type Place struct {
Country string `db:"country"`
City string `db:"city"`
TelCode int `db:"telcode"`
}
//此处的db是线程安全的,实现了连接池
var Db *sqlx.DB
func init() {
database, err := sqlx.Open("mysql", "root:@tcp(127.0.0.1:3306)/test")
if err != nil {
fmt.Println("open mysql failed,", err)
return
}
Db = database
}
func main() {
r, err := Db.Exec("insert into person(username, sex, email)values(?, ?, ?)", "stu001", "man", "stu01@qq.com")
if err != nil {
fmt.Println("exec failed, ", err)
return
}
id, err := r.LastInsertId()
if err != nil {
fmt.Println("exec failed, ", err)
return
}
fmt.Println("insert succ:", id)
}
Select 操作:
err := Db.Select(&person, "select user_id, username, sex, email from person where user_id=?", 1)
package main
import (
"fmt"
_ "github.com/go-sql-driver/mysql"
"github.com/jmoiron/sqlx"
)
type Person struct {
UserId int `db:"user_id"`
Username string `db:"username"`
Sex string `db:"sex"`
Email string `db:"email"`
}
type Place struct {
Country string `db:"country"`
City string `db:"city"`
TelCode int `db:"telcode"`
}
var Db *sqlx.DB
func init() {
database, err := sqlx.Open("mysql", "root:@tcp(127.0.0.1:3306)/test")
if err != nil {
fmt.Println("open mysql failed,", err)
return
}
Db = database
}
func main() {
var person []Person
err := Db.Select(&person, "select user_id, username, sex, email from person where user_id=?", 1)
if err != nil {
fmt.Println("exec failed, ", err)
return
}
fmt.Println("select succ:", person)
}
update操作:
_, err := Db.Exec("update person set username=? where user_id=?", "stu0001", 1)
package main
import (
"fmt"
_ "github.com/go-sql-driver/mysql"
"github.com/jmoiron/sqlx"
)
type Person struct {
UserId int `db:"user_id"`
Username string `db:"username"`
Sex string `db:"sex"`
Email string `db:"email"`
}
type Place struct {
Country string `db:"country"`
City string `db:"city"`
TelCode int `db:"telcode"`
}
var Db *sqlx.DB
func init() {
database, err := sqlx.Open("mysql", "root:@tcp(127.0.0.1:3306)/test")
if err != nil {
fmt.Println("open mysql failed,", err)
return
}
Db = database
}
func main() {
_, err := Db.Exec("update person set username=? where user_id=?", "stu0001", 1)
if err != nil {
fmt.Println("exec failed, ", err)
return
}
}
Delete 操作:
_, err := Db.Exec("delete from person where user_id=?", 1)
package main
import (
"fmt"
_ "github.com/go-sql-driver/mysql"
"github.com/jmoiron/sqlx"
)
type Person struct {
UserId int `db:"user_id"`
Username string `db:"username"`
Sex string `db:"sex"`
Email string `db:"email"`
}
type Place struct {
Country string `db:"country"`
City string `db:"city"`
TelCode int `db:"telcode"`
}
var Db *sqlx.DB
func init() {
database, err := sqlx.Open("mysql", "root:@tcp(127.0.0.1:3306)/test")
if err != nil {
fmt.Println("open mysql failed,", err)
return
}
Db = database
}
func main() {
_, err := Db.Exec("delete from person where user_id=?", 1)
if err != nil {
fmt.Println("exec failed, ", err)
return
}
fmt.Println("delete succ")
}
jmoiron sqlx mysql_mysql 一(或其他数据库)相关推荐
- 高亚芳 mysql_MySQL · 专家投稿 · MySQL数据库SYS CPU高的可能性分析
MySQL · 专家投稿 · MySQL数据库SYS CPU高的可能性分析 问题背景 我们在管理繁忙的 MySQL 数据库时,可能都有碰到 SYS CPU 高的经历:系统突然 SYS CPU 高起来, ...
- 写入mysql_MySQL写入缓冲区在数据库中的作用( Change Buffer )
介绍另外一种重要的数据变更日志,也就是InnoDB change buffer.Change buffer的主要目的是将对二级索引的数据操作缓存下来,以此减少二级索引的随机IO,并达到操作合并的效果. ...
- c 命令导出数据到mysql_MySQL命令行导出数据库
MySQL命令行导出数据库: 1,进入MySQL目录下的bin文件夹:cd MySQL中到bin文件夹的目录 如我输入的命令行:cd C:\Program Files\MySQL\MySQL Serv ...
- webmin mysql_MySQL+Webmin轻松创建数据库
有多少次你在考虑怎样设置数据库时感到为难?其实,如果你在Linux上使用MySQL,就不会有这种情况了.在Linux上使用Webmin图形界面来创建MySQL数据库将变得十分的简单. 在这篇文章中,我 ...
- angular mysql_mysql – 使用Angular进行数据库访问
1-是否可以在角度框架中访问MySQL数据库? 问题不是角度特定但是是可能的,因为MySQL 5.7可以通过HTTP插入,更新和删除MySQL中的记录.像这样的东西 http://127.0.0.1: ...
- golang 读一行_与golang合作的第一步
golang 读一行 If you like to understand know why we choose golang in the first as an alternative to pyt ...
- Go 学习笔记(56)— Go 第三方库 sqlx (操作数据库)
1. 安装数据库 在 Go 标准库中是没有数据库驱动,只提供了驱动接口,有很多第三方实现了驱动,以下两种选择我们都可以进行操作,在本文中选择 sqlx . 第三方库 MySQL 驱动库: go-sql ...
- Go语言sqlx库操作PostgreSQL数据库增删改查
0. 引用 sqlx地址:https://github.com/jmoiron/sqlx PostgreSQL官网:https://www.postgresql.org/ 1. PostgreSQL安 ...
- mysql用大白话解释_大白话 golang 教程-22-关系型数据库访问
go 原生提供了对数据库的支持,就是 database/sql 包,对关系型的数据库进行了通用的抽象,轻量.面向行的接口,所以使用这个包还需要下载对相应的数据库驱动,比如 mysql 的驱动包 git ...
最新文章
- [认证授权] 1.OAuth2授权
- 支付接入开发的陷阱有多深?
- Parallels高危漏洞的奇葩修复指南
- c#中的Form.Show和Form.ShowDialog的区别
- [MEGA DEAL] Ultimate Java开发和认证指南(59%折扣)
- BROCADE 300和MD3200扩展柜FC SAN,截图
- 【本人秃顶程序员】深入理解Java——ConcurrentHashMap源码的分析(JDK1.8)
- Java学习笔记13--比较器(Comparable、Comparator)
- Lumen开发:lumen源码解读之初始化(5)——注册(register)与启动(boot)
- 【Linux】自主实现my_sleep【转】
- eclipse如何删除空行
- 未公开接口主要指以下哪几类_办公家具配套主要有哪些家具-GAVEE家维依为您解答...
- 2022年JDK-8下载方法
- 【前端三剑客一】 HTML
- 计算机左侧没有桌面菜单栏,我的电脑左侧工具栏忽然不见了
- 让Y40上的MAC启动更快
- 2020-8-25实训总结
- onvif 模拟摄像头_ONVIF 设备发现(网络摄像头)——实例笔记
- QMediaPlayer 播放视频(MP4、MP3...)
- 科技云报道:AI写小说、绘画、剪视频,生成式AI更火了!