go 访问数据库mysql基础
数据结构定义
type User struct {ID int64 `db:"ID"`Name sql.NullString `db:"name"`Age int `db:"age"`
}
为了简便说明问题,假定了一个user表,有ID,Name 和Age 三个字段,Name是可以为空的
初始化数据库连接
func initDb() error {var err errordsn := "root:root@tcp(127.0.0.1:3306)/test"DB, err = sqlx.Open("mysql", dsn)if err != nil {return err}DB.SetMaxOpenConns(100)DB.SetMaxIdleConns(16)return nil
}
其中:
SetMaxOpenConns用于设置最大打开的连接数,如果想设为不限制,设置为0就行。
SetMaxIdleConns用于设置空闲的连接数。
获取数据
sqlstr := "select ID,name,age from user where ID = ?" var user Usererr := DB.Get(&user, sqlstr, 1)if err != nil {fmt.Printf("select failed, err:%v\n", err)return
}
非常方便,连接后直接写入岛数据结构中。
代码展示
import ("database/sql""fmt"_ "github.com/go-sql-driver/mysql""github.com/jmoiron/sqlx"
)var DB *sqlx.DBfunc initDb() error {var err errordsn := "root:root@tcp(127.0.0.1:3306)/test"DB, err = sqlx.Open("mysql", dsn)if err != nil {return err}DB.SetMaxOpenConns(100)DB.SetMaxIdleConns(16)return nil
}type User struct {ID int64 `db:"ID"`Name sql.NullString `db:"name"`Age int `db:"age"`
}func testSqlxQuery() {sqlstr := "select ID,name,age from user where ID = ?" var user Usererr := DB.Get(&user, sqlstr, 1)if err != nil {fmt.Printf("select failed, err:%v\n", err)return}fmt.Printf("user:%#v\n", user)
}func main() {err := initDb()if err != nil {fmt.Printf("init db failed, err:%v\n", err)return}testSqlxQuery()
}
可以看出go连接数据库,取得数据非常简单。这是一个简单的示例。
go 访问数据库mysql基础相关推荐
- 麦子mysql_[数据库]MySQL基础 (麦子学员 php 第二阶段)
[数据库]MySQL基础 (麦子学员 php 第二阶段) 0 2018-08-13 03:00:11 通过my.ini配置文件修改字符集:客户端字符集设置:[mysql]default-charact ...
- mysql以下日期函数正确的_[数据库]MYSQL基础03(日期函数)
[数据库]MYSQL基础03(日期函数) 0 2015-10-29 01:00:09 工作中对日期的处理是经常遇到的,需求可能多种多样,因此重点介绍. 1.获取当前日期select NOW()-- 结 ...
- 【MySQL】黑马教程MySQL数据库 MySQL基础(一)
文章目录 [MySQL]黑马教程MySQL数据库 | MySQL基础(一) MySQL启动 MySQL客户端连接 MySQL数据模型 SQL SQL分类 DDL 表操作-查询 表操作-创建 表操作-数 ...
- java 入侵 mysql_Java访问数据库Mysql
一.概述 本文主要介绍Java接连数据库的基本方法和步骤,并对其中的几个要点进行简要说明. 二.数据库访问步骤 在Java中连接数据库进行的访问主要有以下几个步骤: 加载数据库驱动 注册数据库驱动 建 ...
- 数据库MySQL基础---JDBC开发步骤--JDBC封装工具类--PreparedStatement实现CRUD操作
JDBC简介 1.JDBC定义Java数据库连接(Java Database Connectivity,简称JDBC):是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询 ...
- 数据库MySQL基础---DDL/DML/DQL
MySQL基础 数据库简介 数据库是"按照数据结构来组织.存储和管理数据的仓库".是一个长期存储在计算机内的.有组织的.可共享的.统一管理的大量数据的集合. 与数据库相关的概念数据 ...
- 数据库Mysql基础------第一部分 数据的准备与基础命令
一.初识数据库 一.为什么要用数据库? 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库 数据库随时随地的存在,并且使用,简单的说,数据库就是收集数据的结构.数据涉及很多,例如一个 ...
- Mac安装mysql数据库MySQL基础和MySQL在开发中常用的技术
一.安装步骤 打开终端,输入: sudo vi ~/.bash_profile 输入 i 然后粘贴以下内容 # mysql alias mysql='/usr/local/mysql/bin/mysq ...
- mysql 同一张表 某个字段更新到另一条数据上_面试基础:数据库MySQL基础入门(下)...
本文是面试基础的第二篇.本篇偏理论,包括三节: 事务和并发 数据库设计 索引 所选的三个内容均是面试的高频考察点,需要细致地理解 No.1 事务和并发 事务:数据库操作的基本单元.对于数据库的 ...
最新文章
- pandas 季度_当缺少季度时,如何确定pandas数据帧的季度行值的差异
- reactjs 兄弟通信,父子通信
- Java 三大特性之——继承
- a java虚拟机_Java虚拟机
- Zookeeper架构及FastLeaderElection机制
- 为什么回归直线过平均值点_线性回归和梯度下降的初学者教程
- ffmpeg gl-transitions 图片合成视频 转场特效
- 二值图像分析:轮廓形状逼近与拟合
- 【IoT】成功十大因素,命、运、风水 、、贵人、养生,哪个最重要?
- 中国货币政策的动态有效性研究--基于 TVP-SV-FAVAR 模型的实证分析
- java-php-python-ssm-兴澜幼儿园管理系统-计算机毕业设计
- MFC 获取屏幕客户区(及显示器大小)
- VB集成无标题栏Form图片按钮Activex
- 完整且详细的单链表代码
- 一个知识付费商城系统2022年最新改良版源码
- 计算机网络——数据报与虚电路
- JNI 传递和返回基本参数
- 电网络节点电压matlab,电力网潮流电压计算例题与matlab程序技术总结.docx
- 马云与史玉柱经典语录
- GAN应用案例:音频转图像
热门文章
- ARM CORTEX M0 程序镜像和启动逻辑
- C语言库文件ctype.h中重要的库函数
- 小米一元流量magisk_小米推出5G定制电话卡,资费月49元起,成最便宜5G手机套餐!...
- 买房子还是不买房子,这是一个问题
- 闲鱼公布2021年度十大“无用”商品:网友买前壮志 买后吃灰
- 被400万人痛骂!在中国火了22年的“洋网红”,套路彻底失灵了?
- 华为供应链公司已收到华为Mate50手机设计方案
- iPhone近两个财季为苹果带来1135亿美元营收 同比增长33%
- 月球好忙 蓝色起源2024年要将首位女性送上月球表面
- 雷军微博正式“确认”:Redmi Note 9 5G高配版处理器就是它