前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >go语言连接mysql 实现增删改查

go语言连接mysql 实现增删改查

作者头像
地球流浪猫
发布2018-08-02 15:26:51
2.1K0
发布2018-08-02 15:26:51
举报
文章被收录于专栏:流浪猫的golang流浪猫的golang
代码语言:javascript
复制
package main

import(
	"fmt"
	"database/sql"
	_ "github.com/go-sql-driver/mysql"
	"log"
)
var (
	Id   string
	Name string
)


func main(){
	db, err := sql.Open("mysql", "root:123456@tcp(127.0.0.1:3306)/go?charset=utf8")
	if err != nil {
		fmt.Println(err)
		return
	}
	defer db.Close()
	update(db)
	sqlselect(db)

	insert(db)
	fmt.Println("插入后")
	sqlselect(db)

	delete(db);
	fmt.Println("删除后")
	sqlselect(db)
}

// 查询 数据
func sqlselect(db *sql.DB)  {
	rows,err := db.Query("select * from test")
	if err != nil {
		fmt.Println("数据库查询出错执行出错")
	}
	for rows.Next(){
		//按表名的顺序读取参数
		err := rows.Scan(&Name,&Id)
		if err != nil {
			log.Fatal(err)
		}
		fmt.Println(Name, Id)
	}
	rows.Close()
}

//更新
func update(db *sql.DB)  {
	result,err:=db.Exec("update test set Id = 1123 WHERE test.Name=?","a")
	if err != nil {
		fmt.Println("数据库执行更新出错")
	}
	changelow,err:=result.RowsAffected()
	if err != nil {
	}
	fmt.Println("共计",changelow,"行受到影响")
}
//INSERT INTO `go`.`test` (`Id`, `Name`) VALUES ('4', 'd');
//插入
func insert(db *sql.DB){
	result,err:=db.Exec("INSERT test (Id, Name) VALUES (?,?)","5","e")
	if err != nil {
		fmt.Println("数据库执行插入出错",err)
		return
	}
	changelow,err:=result.RowsAffected()
	if err != nil {

	}
	fmt.Println("共计",changelow,"行受到影响")
}

//DELETE FROM `go`.`test` WHERE `Id` = '5';
//删除第5条数据
func delete(db *sql.DB){
	result,err:=db.Exec("DELETE FROM test WHERE `Id` = ?",5)
	if err != nil {
		fmt.Println("数据库执行删除出错",err)
		return
	}
	changelow,err := result.RowsAffected()
	if err != nil {

	}
	fmt.Println("共计",changelow,"行受到影响")
}

贴出 创建sql的数据

代码语言:javascript
复制
CREATE TABLE `test` (
  `Id` int(11) NOT NULL,
  `Name` char(200) DEFAULT NULL,
  PRIMARY KEY (`Id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8

msq的 url 规则

代码语言:javascript
复制
user@unix(/path/to/socket)/dbname
代码语言:javascript
复制
root:pw@unix(/tmp/mysql.sock)/myDatabase?loc=Local
代码语言:javascript
复制
user:password@tcp(localhost:5555)/dbname?tls=skip-verify&autocommit=true

参考链接点击打开链接

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018年03月13日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档