百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程字典 > 正文

Go语言介绍以及实现MySQL数据库的操作

toyiye 2024-06-21 12:00 9 浏览 0 评论


今天给大家介绍一下Go语言,以及实现MySQL数据库的操作示例,希望对大家能有所帮助!

一、Go语言介绍

Go语言,也称为Golang,是由Google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言。以下是Go语言的一些主要特点:

二、Go语言特点

语法简洁:摒弃了一些复杂的编程概念和冗余的语法,容易学习

高效性能:采用的静态编译和垃圾回收机制,实现了高效的内存管理

并发支持:Go语言是为并发编程而设计的,原生支持goroutine和channel

强大的标准库:Go语言拥有丰富的标准库

社区活跃:Go语言的社区非常活跃,有着庞大的开发者群体


三、 Go语言应用场景

服务器端开发:适合构建高性能的服务器端应用程序。因为Go语言具有轻量级的协程(goroutine)和高效的并发编程机制。例如谷歌、Dropbox和Netflix等。

网络编程:适合构建Web服务器、微服务、网络爬虫、实时通信系统等。目前Go语言成为开发高负载网络应用的首选语言。

云计算:Go语言的轻量级和快速编译的特点使得它非常适合于构建云原生应用。例如Docker和Kubernetes等。

系统编程:适合成为开发操作系统、驱动程序和嵌入式系统。

工具开发:很多工具和框架都选择使用Go语言进行开发。例如,Docker、Etcd、InfluxDB和Prometheus等工具。

人工智能和大数据分析:Go语言的并发编程模型和内存管理机制使得它可以高效地处理大规模数据和复杂计算任务。


四、Go语言环境安装


安装Go语言环境,首先官网下载WindowsGo语言安装包


https://golang.google.cn/dl/


安装之后,cmd运行命令检查环境是否安装成功。


五、Go语言实现Mysql数据库的增删概啥


安装操作数据库依赖Go-MySQL-Driver


Go-MySQL-Driver是Go语言官方推荐的MySQL驱动, 是Go语言中使用MySQL的最佳选择


go get -u github.com/go-sql-driver/mysql


可能会报如下错误:

原因

GO111MODULE 是 Go 1.11 引入的新版模块管理方式。

GO111MODULE 环境变量用于开启或关闭 Go 语言中的模块支持,它有 off、on、auto 三个可选值,默认为 auto


win10环境下需要执行如下命令:

go env -w GO111MODULE=auto

然后重新执行安装命令

go get -u github.com/go-sql-driver/mysql


如果下载的时候报错

connectex: A connection attempt failed because the connected party did not p

直接进入电脑的环境变量设置国内镜像地址

新建环境变量GOPROXY

值为

https://mirrors.aliyun.com/goproxy/

点击确定后,重启命令行窗口,然后执行下载命令

代码实现

package main

import (

  "database/sql"
  "fmt"
  "log"
  
  _ "github.com/go-sql-driver/mysql"

) 


/*
*获取mysql数据库版本
*/
func showMysqlVersion() {
	db, err := sql.Open("mysql", "root:12345678@tcp(127.0.0.1:3306)/test2?charset=utf8")
	if err != nil {
		log.Fatal(err)
	}
	db.Ping()
	defer db.Close()

	var version string
 
	errt2 := db.QueryRow("SELECT VERSION()").Scan(&version)
 
	if errt2 != nil {
		log.Fatal(errt2)
	}
 
	fmt.Println(version)

}
/*
*查询数据测试
*/
func queryTest() {
	// 设置数据库连接信息
	db, err := sql.Open("mysql", "root:12345678@tcp(127.0.0.1:3306)/test2")
	if err != nil {
		log.Fatal(err)
	}
	defer db.Close()

	// 执行查询
	rows, err := db.Query("SELECT id, name, age FROM t_user")
	if err != nil {
		log.Fatal(err)
	}
	defer rows.Close()

	// 遍历查询结果
	for rows.Next() {
		var id int
		var name string
		var age int
		if err := rows.Scan(&id, &name, &age); err != nil {
			log.Fatal(err)
		}
		fmt.Printf("ID: %d, Name: %s, Age: %d\n", id, name, age)
	}
	if err := rows.Err(); err != nil {
		log.Fatal(err)
	}
}


/*
*插入数据测试
*/
func insertTest() {
	db, err := sql.Open("mysql", "root:12345678@tcp(127.0.0.1:3306)/test2")
	db.Ping()
	defer db.Close()
 
	if err != nil {
		fmt.Println("connect DB error !")
		log.Fatalln(err)
	}
 
	_, err2 := db.Query("INSERT INTO t_user ( `name`, `address`, `age`) VALUES('小刘','广东',35)")
	if err2 != nil {
		log.Fatal(err2)
	}
 
	fmt.Println("数据插入成功")

}
/*
*数据更新测试
*/
func updateTest() {
	db, err := sql.Open("mysql", "root:12345678@tcp(127.0.0.1:3306)/test2")
	db.Ping()
	defer db.Close()
 
	if err != nil {
		fmt.Println("connect DB error !")
		log.Fatalln(err)
	}
 
	_, err2 := db.Query("update t_user set name='小明2' where id=1 ")
	if err2 != nil {
		log.Fatal(err2)
	}
 
	fmt.Println("数据更新成功")

}

/*
*数据更新测试
*/
func delTest() {
	db, err := sql.Open("mysql", "root:12345678@tcp(127.0.0.1:3306)/test2")
	db.Ping()
	defer db.Close()
 
	if err != nil {
		fmt.Println("connect DB error !")
		log.Fatalln(err)
	}
 
	_, err2 := db.Query("delete from t_user where id=2 ")
	if err2 != nil {
		log.Fatal(err2)
	}
 
	fmt.Println("数据删除成功")

}

func main(){
	delTest()
	updateTest();	
	//insertTest()
	queryTest()
	showMysqlVersion()
}


运行效果如下图

相关推荐

为何越来越多的编程语言使用JSON(为什么编程)

JSON是JavascriptObjectNotation的缩写,意思是Javascript对象表示法,是一种易于人类阅读和对编程友好的文本数据传递方法,是JavaScript语言规范定义的一个子...

何时在数据库中使用 JSON(数据库用json格式存储)

在本文中,您将了解何时应考虑将JSON数据类型添加到表中以及何时应避免使用它们。每天?分享?最新?软件?开发?,Devops,敏捷?,测试?以及?项目?管理?最新?,最热门?的?文章?,每天?花?...

MySQL 从零开始:05 数据类型(mysql数据类型有哪些,并举例)

前面的讲解中已经接触到了表的创建,表的创建是对字段的声明,比如:上述语句声明了字段的名称、类型、所占空间、默认值和是否可以为空等信息。其中的int、varchar、char和decimal都...

JSON对象花样进阶(json格式对象)

一、引言在现代Web开发中,JSON(JavaScriptObjectNotation)已经成为数据交换的标准格式。无论是从前端向后端发送数据,还是从后端接收数据,JSON都是不可或缺的一部分。...

深入理解 JSON 和 Form-data(json和formdata提交区别)

在讨论现代网络开发与API设计的语境下,理解客户端和服务器间如何有效且可靠地交换数据变得尤为关键。这里,特别值得关注的是两种主流数据格式:...

JSON 语法(json 语法 priority)

JSON语法是JavaScript语法的子集。JSON语法规则JSON语法是JavaScript对象表示法语法的子集。数据在名称/值对中数据由逗号分隔花括号保存对象方括号保存数组JS...

JSON语法详解(json的语法规则)

JSON语法规则JSON语法是JavaScript对象表示法语法的子集。数据在名称/值对中数据由逗号分隔大括号保存对象中括号保存数组注意:json的key是字符串,且必须是双引号,不能是单引号...

MySQL JSON数据类型操作(mysql的json)

概述mysql自5.7.8版本开始,就支持了json结构的数据存储和查询,这表明了mysql也在不断的学习和增加nosql数据库的有点。但mysql毕竟是关系型数据库,在处理json这种非结构化的数据...

JSON的数据模式(json数据格式示例)

像XML模式一样,JSON数据格式也有Schema,这是一个基于JSON格式的规范。JSON模式也以JSON格式编写。它用于验证JSON数据。JSON模式示例以下代码显示了基本的JSON模式。{"...

前端学习——JSON格式详解(后端json格式)

JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScriptProgrammingLa...

什么是 JSON:详解 JSON 及其优势(什么叫json)

现在程序员还有谁不知道JSON吗?无论对于前端还是后端,JSON都是一种常见的数据格式。那么JSON到底是什么呢?JSON的定义...

PostgreSQL JSON 类型:处理结构化数据

PostgreSQL提供JSON类型,以存储结构化数据。JSON是一种开放的数据格式,可用于存储各种类型的值。什么是JSON类型?JSON类型表示JSON(JavaScriptO...

JavaScript:JSON、三种包装类(javascript 包)

JOSN:我们希望可以将一个对象在不同的语言中进行传递,以达到通信的目的,最佳方式就是将一个对象转换为字符串的形式JSON(JavaScriptObjectNotation)-JS的对象表示法...

Python数据分析 只要1分钟 教你玩转JSON 全程干货

Json简介:Json,全名JavaScriptObjectNotation,JSON(JavaScriptObjectNotation(记号、标记))是一种轻量级的数据交换格式。它基于J...

比较一下JSON与XML两种数据格式?(json和xml哪个好)

JSON(JavaScriptObjectNotation)和XML(eXtensibleMarkupLanguage)是在日常开发中比较常用的两种数据格式,它们主要的作用就是用来进行数据的传...

取消回复欢迎 发表评论:

请填写验证码