您的位置 首页 golang

golang web从入门到精通 Mysql数据库查询单条、查询所有,条件查询

golang 简介

Go(又称Golang)是Google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言。

golang发展前景

适合云计算、微服务、基础后端软件的功能实现。

go语言优点

go是非常年轻的一门语言,“兼具Python 等动态语言的开发速度和C/C++等编译型语言的性能与安全性”,具备强大的标准库,内置垃圾回收机制,属于静态类型语言,因此具备编译检查和编码规范,特别是并发功能实现简单,但功能强大,可使用goroutine和channel轻松实现高并发。

golang web 优势

语法简单:语法简洁,新手入门简单,开发应用性能高。

便于维护:强类型静态语言,便于项目的重构和维护。

部署方便:编译的可执行二进制文件,在执行时,不需要部署环境,把编译文件上传,就完成了项目的部署。

Mysql数据库的查询单条、查询所有,条件查询

先贴代码,然后解释

代码中,演示了3个查询

1、通过使用User结构体的方法实现通过User.id查询对应的1条记录

步骤分为:

(1)写sql语句

 sqlStr := "SELECT username,password FROM `users` WHERE `id` = ?"  

(2)执行数据库操作,需要区别下面的方法,这里的id是来源于结构体的字段

 row := Db.QueryRow(sqlStr, u.Id)  

(2.1)(可选)如果查询不到,那么就返回空和错误

 if err != nil {
	return nil, err
}  

(3)指定扫描接收的参数

 var username, password string  

(4)扫描将匹配行中的列复制到目标指向的值中

 err := row.Scan(&username, &password)  

(4.1)(可选)如果查询不到,将返回err错误信息

 if err != nil {
    return username, password, err
}  

(5)输出查询到的内容

 username, password, nil  

2、不通过使用User结构体的方法,通过使用函数自定义的id查询对应的1条记录

步骤分为:

(1)写sql语句

 sqlStr := "SELECT username,password FROM `users` WHERE `id` = ?"  

(2)执行数据库操作,需要区别上面的方法,这里的id是来源于函数的参数

 row := Db.QueryRow(sqlStr, id)  

(3)指定扫描接收的参数

 var username, password string  

(4)扫描将匹配行中的列复制到目标指向的值中

 err := row.Scan(&username, &password)  

(4.1)(可选)如果查询不到,将返回err错误信息

 if err != nil {
		return username, password, err
}  

(5)输出查询到的内容

 username, password, nil  

3、查询所有记录

步骤分为:

(1)写sql语句

 sqlStr := "SELECT username,password FROM `db1`.`users`"  

(2)根据sql语句查询所有的数据

 rows, err := Db.Query(sqlStr)  

(2.1)(可选)如果查询不到,那么就返回空和错误

 if err != nil {
		return nil, err
}  

(3)定义user的map切片,用于接收username和password信息

 var users []map[string]string  

(4)通过使用rows.Next获取下一行的内容。

如果成功,则返回true

如果没有下一个结果行,或者在准备结果行时出错,则返回false。

每次调用Scan,甚至第一次调用,都必须在调用Next之前

 for rows.Next() {
		5到8步骤
}  

(5)指定扫描接收的参数

 var username, password string  

(6)扫描将匹配行中的列复制到目标指向的值中,目标中的值数必须与行中的列数相同。

 _ = rows.Scan(&username, &password)  

(7)将获取到的username, password 写到map

 user := map[string]string{
    "username": username,
    "password": password,
}  

(8)将输出的map,增加到切片中

 users = append(users, user)  

(9)输出查询到的内容

 return username, password, nil  

文章来源:智云一二三科技

文章标题:golang web从入门到精通 Mysql数据库查询单条、查询所有,条件查询

文章地址:https://www.zhihuclub.com/86875.shtml

关于作者: 智云科技

热门文章

网站地图