专栏首页流浪猫的golanggo语言连接mysql 实现增删改查

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

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的数据

CREATE TABLE `test` (
  `Id` int(11) NOT NULL,
  `Name` char(200) DEFAULT NULL,
  PRIMARY KEY (`Id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8

msq的 url 规则

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

参考链接点击打开链接

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • MongoDB 中文的全文索引

    MongoDB 从3.2 版本以后添加了对中文索引的支持: 官网链接:https://docs.mongodb.com/manual/reference/t...

    地球流浪猫
  • go Http Post 发送文件流

    水滴石穿。这里把Go Http Post 参数的函数也贴了处理主要对比两者不同之处。

    地球流浪猫
  • golang mongoDB GridFS查询 存储 删除文件

    GridFS 用于存储和恢复那些超过16M(BSON文件限制)的文件(如:图片、音频、视频等),如果没有超过16m大小可以将数据保存在BSON数据中。 Gr...

    地球流浪猫
  • PS给照片换背景的小技巧[易学易用]

    落叶大大
  • Python相关机器学习‘武器库’

    开始学习Python,之后渐渐成为我学习工作中的第一辅助脚本语言,虽然开发语言是Java,但平时的很多文本数据处理任务都交给了Python。这些年来,接触和使用...

    昱良
  • Python相关机器学习‘武器库’

    开始学习Python,之后渐渐成为我学习工作中的第一辅助脚本语言,虽然开发语言是Java,但平时的很多文本数据处理任务都交给了Python。这些年来,接触和使...

    智能算法
  • 【Python环境】Python 网页爬虫 &文本处理 & 科学计算 &机器学习 &数据挖掘兵器谱

    曾经因为NLTK的缘故开始学习Python,之后渐渐成为我工作中的第一辅助脚本语言,虽然开发语言是C/C++,但平时的很多文本数据处理任务都交给了Python。...

    陆勤_数据人网
  • Python网页爬虫&文本处理&科学计算&机器学习&数据挖掘兵器谱

    周末时看到这篇不错的文章,其中介绍了诸多python第三方库和工具,与大家分享下,也算是门可罗雀的本号第一次转载文章。后续看到精彩的文章也会继续分享。

    古柳_DesertsX
  • 【翻译】阅读优秀的代码

    以上内容翻译自https://docs.python-guide.org/writing/reading/ 作者为Kenneth Reitz. 部分内容为意译。

    青南
  • Python相关机器学习‘武器库’

    开始学习Python,之后渐渐成为我学习工作中的第一辅助脚本语言,虽然开发语言是Java,但平时的很多文本数据处理任务都交给了Python。这些年来,接触和...

    智能算法

扫码关注云+社区

领取腾讯云代金券