golang操作mysql的demo,直接上代码

package main

import (

"database/sql"

"fmt"

_ "github.com/go-sql-driver/mysql"

"log"

"strings"

)

const (

userName = "root"

password = "123456"

ip = "127.0.0.1"

port = "3306"

dbName = "oversea"

)

//var db = &sql.DB{}

func main() {

insert("test")

//query()

//update()

//query()

//delete()

}

func createTable(db *sql.DB, table string) {

sql := `

CREATE TABLE ` + table + `(

uid INT(10) NOT NULL AUTO_INCREMENT,

age INT(10) NOT NULL,

username VARCHAR(64) NULL DEFAULT NULL,

created DATE NULL DEFAULT NULL,

PRIMARY KEY(uid)

)ENGINE=InnoDB DEFAULT CHARSET=utf8;`

fmt.Println(sql)

smt, err := db.Prepare(sql)

if err != nil {

fmt.Println(err)

}

smt.Exec()

}

func insert(tableName string) error {

path := strings.Join([]string{userName, ":", password, "@tcp(", ip, ":", port, ")/", dbName, "?charset=utf8"}, "")

db, err := sql.Open("mysql", path)

defer db.Close()

if err != nil {

return err

}

createTable(db, tableName)

sql := fmt.Sprintf("INSERT INTO %s(uid,age,username) values(NULL,%d,%s)",tableName,"mark", 21)

_, err = db.Exec(sql)

if err != nil {

return err

}

return nil

}

func update(tableName string) error {

path := strings.Join([]string{userName, ":", password, "@tcp(", ip, ":", port, ")/", dbName, "?charset=utf8"}, "")

db, err := sql.Open("mysql", path)

defer db.Close()

if err != nil {

return err

}

createTable(db, tableName)

sql := fmt.Sprintf("UPDATE %s set username=%s where uid=%d",tableName,"mark", 21)

_, err = db.Exec(sql)

if err != nil {

return err

}

return nil

}

func delete(tableName string) error {

path := strings.Join([]string{userName, ":", password, "@tcp(", ip, ":", port, ")/", dbName, "?charset=utf8"}, "")

db, err := sql.Open("mysql", path)

defer db.Close()

if err != nil {

return err

}

createTable(db, tableName)

sql := fmt.Sprintf("DELETE FROM %s where uid=%d",tableName,21)

_, err = db.Exec(sql)

if err != nil {

return err

}

return nil

}

func query(tableName string) error {

path := strings.Join([]string{userName, ":", password, "@tcp(", ip, ":", port, ")/", dbName, "?charset=utf8"}, "")

db, err := sql.Open("mysql", path)

defer db.Close()

if err != nil {

return err

}

createTable(db, tableName)

sql := fmt.Sprintf("SELECT uid,username FROM TEST",tableName)

rows, _ := db.Query(sql)

defer rows.Close()

for rows.Next() {

var name string

var id int

if err := rows.Scan(&id, &name); err != nil {

log.Fatal(err)

}

fmt.Printf("name:%s ,id:is %d\n", name, id)

}

return nil

}

golang mysql商业用例_完美起航-golang操作mysql用例相关推荐

  1. 怎么用php操作mysql删除数据库代码_如何使用php操作mysql的增删改查?

    php操作mysql的增删改查方法:1.插入语句[insert into 数据表名(字段1,字段2,....) values("值1","值2",..)]:2. ...

  2. perl mysql 数据推拉_使用Perl DBI操作MySQL的一些建议

    使用perl连接mysql,这个网上有很多案例了,一般大家都是DBI下的DBD::MySQL这个模块进行.这里做一个mask弄一个TIPS: Perl DBI MySQL的字符集为UTF8 Perl ...

  3. mysql 集群切换_完美起航-MySQLMHA高可用集群部署及故障切换(图文详解)

    MySQL MHA 一.MHA概念 MHA(MasterHigh Availability)是一套优秀的MySQL高可用环境下故障切换和主从复制的软件. MHA 的出现就是解决MySQL 单点的问题. ...

  4. 搭建pxc集群时需要先安装mysql么_完美起航-高可用MySQL数据库之PXC集群

    高可用MySQL数据库之PXC集群 前言 在上一篇文章介绍了时下流行的几种数据库产品后(公众号发送"NewSQL"查看),有不少小伙伴表示对自动集群的数据库感兴趣,特别是Cockr ...

  5. mysql数据库 中文乱码_在CMD中操作mysql数据库出现中文乱码解决方案

    百度了一下..有说将cmd字符编码用chcp命令改为65001(utf8字符编码),可这样之后根本无法输入中文,查询出的中问结果依旧乱码 其实,只要保证cmd客户端和MySQL两者编码一致即可. 但现 ...

  6. c语言连接数据库例子,c语言操作mysql数据库小例子_互帮互助(C language MySQL database operation example _ mutual help).doc...

    这是精心收集的精品经典资料,值得下载保存阅读! c语言操作mysql数据库小例子_互帮互助(C language MySQL database operation example _ mutual h ...

  7. 解决mysql的乱码问题_完美解决mysql中文乱码的问题

    MySQL(和PHP搭配之最佳组合)中文乱码的原因 MySQL(和PHP搭配之最佳组合)会出现中文乱码的原因不外乎下列几点: MySQL(和PHP搭配之最佳组合) server本身设定问题,例如还停留 ...

  8. mysql元数据死锁日志_这个未修复的MySQL 5.7死锁Bug,你知道么?

    破产码农 IT圈最会讲故事的网红 · 南山彭于晏 最近在生产上变更时遇到从机死锁的问题.表现的现象为:同一张的表的DROP TABLE操作进入了同一组.而由于并行复制,并且从机提交顺序需要保证与主机一 ...

  9. ubuntu安装mysql 密码忘了怎么办_在ubuntu上面安装mysql都密码忘记及一些常用命令...

    重改密码! # /etc/init.d/mysql stop # mysqld_safe --user=mysql --skip-grant-tables --skip-networking & ...

最新文章

  1. openstack M 版 neutron网络组件基础入门
  2. 高亚芳 mysql_MySQL · 专家投稿 · MySQL数据库SYS CPU高的可能性分析
  3. 【H.264/AVC视频编解码技术具体解释】十三、熵编码算法(4):H.264使用CAVLC解析宏块的残差数据...
  4. 玩点不一样的,如何使用MATLAB实现批量修改文件后缀名,文件名,批量复制文件
  5. java虚成员函数_Java常见知识点汇总(④)——虚函数、抽象函数、抽象类、接口...
  6. verilog出租车计价器
  7. mysql语句使用_Mysql基本使用语句
  8. 解密OpenShift内部通信网络
  9. python安装多久_(一)安装Python
  10. 奇安信代码安全实验室帮助微软修复高危漏洞,获官方致谢
  11. 第4章 最基础的分类算法-k近邻算法 kNN 学习笔记 中
  12. 擎标|CMMI 5认证对软件企业有什么好处?
  13. linux 内核编程之proc虚拟文件系统
  14. 跟大家分享一下牛人常用的资源(牛客网 )!
  15. GALGAME文字提取agth 特殊码大全(特殊码表)和使用方法
  16. 计算机232接口接线图,串口线(232接口详细接线图)
  17. greasemonkey油猴子初学过程中遇到的问题
  18. JS常用的六种设计模式详解
  19. Egret引擎做游戏登录账号和密码显示
  20. Win10出现“你需要权限才能执行此操作”提示的解决方法--win7w.com

热门文章

  1. 高级停靠(Dock)技术的实现
  2. java常用类解析十:Date类和Calendar类示例
  3. SPI FLASH 分区情况
  4. TJA1050只能RX不能TX
  5. Bitcoin 中的挖矿算法(1) 难度值前奏
  6. C++ Primer 5th笔记(9)chapter9 顺序容器
  7. [HOW TO]-github/gitee私有项目用户名密码免输入
  8. 后台服务显示右下角弹窗 -- system权限创建用户权限进程
  9. VMProtect SDK+ASProtect SDK保护
  10. 进程间通信——自定义消息方式实现(SetWindowsHookEx)