数据结构定义

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基础相关推荐

  1. 麦子mysql_[数据库]MySQL基础 (麦子学员 php 第二阶段)

    [数据库]MySQL基础 (麦子学员 php 第二阶段) 0 2018-08-13 03:00:11 通过my.ini配置文件修改字符集:客户端字符集设置:[mysql]default-charact ...

  2. mysql以下日期函数正确的_[数据库]MYSQL基础03(日期函数)

    [数据库]MYSQL基础03(日期函数) 0 2015-10-29 01:00:09 工作中对日期的处理是经常遇到的,需求可能多种多样,因此重点介绍. 1.获取当前日期select NOW()-- 结 ...

  3. 【MySQL】黑马教程MySQL数据库 MySQL基础(一)

    文章目录 [MySQL]黑马教程MySQL数据库 | MySQL基础(一) MySQL启动 MySQL客户端连接 MySQL数据模型 SQL SQL分类 DDL 表操作-查询 表操作-创建 表操作-数 ...

  4. java 入侵 mysql_Java访问数据库Mysql

    一.概述 本文主要介绍Java接连数据库的基本方法和步骤,并对其中的几个要点进行简要说明. 二.数据库访问步骤 在Java中连接数据库进行的访问主要有以下几个步骤: 加载数据库驱动 注册数据库驱动 建 ...

  5. 数据库MySQL基础---JDBC开发步骤--JDBC封装工具类--PreparedStatement实现CRUD操作

    JDBC简介 1.JDBC定义Java数据库连接(Java Database Connectivity,简称JDBC):是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询 ...

  6. 数据库MySQL基础---DDL/DML/DQL

    MySQL基础 数据库简介 数据库是"按照数据结构来组织.存储和管理数据的仓库".是一个长期存储在计算机内的.有组织的.可共享的.统一管理的大量数据的集合. 与数据库相关的概念数据 ...

  7. 数据库Mysql基础------第一部分 数据的准备与基础命令

    一.初识数据库 一.为什么要用数据库? 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库 数据库随时随地的存在,并且使用,简单的说,数据库就是收集数据的结构.数据涉及很多,例如一个 ...

  8. Mac安装mysql数据库MySQL基础和MySQL在开发中常用的技术

    一.安装步骤 打开终端,输入: sudo vi ~/.bash_profile 输入 i 然后粘贴以下内容 # mysql alias mysql='/usr/local/mysql/bin/mysq ...

  9. mysql 同一张表 某个字段更新到另一条数据上_面试基础:数据库MySQL基础入门(下)...

    本文是面试基础的第二篇.本篇偏理论,包括三节: 事务和并发 数据库设计 索引 所选的三个内容均是面试的高频考察点,需要细致地理解 No.1     事务和并发 事务:数据库操作的基本单元.对于数据库的 ...

最新文章

  1. pandas 季度_当缺少季度时,如何确定pandas数据帧的季度行值的差异
  2. reactjs 兄弟通信,父子通信
  3. Java 三大特性之——继承
  4. a java虚拟机_Java虚拟机
  5. Zookeeper架构及FastLeaderElection机制
  6. 为什么回归直线过平均值点_线性回归和梯度下降的初学者教程
  7. ffmpeg gl-transitions 图片合成视频 转场特效
  8. 二值图像分析:轮廓形状逼近与拟合
  9. 【IoT】成功十大因素,命、运、风水 、、贵人、养生,哪个最重要?
  10. 中国货币政策的动态有效性研究--基于 TVP-SV-FAVAR 模型的实证分析
  11. java-php-python-ssm-兴澜幼儿园管理系统-计算机毕业设计
  12. MFC 获取屏幕客户区(及显示器大小)
  13. VB集成无标题栏Form图片按钮Activex
  14. 完整且详细的单链表代码
  15. 一个知识付费商城系统2022年最新改良版源码
  16. 计算机网络——数据报与虚电路
  17. JNI 传递和返回基本参数
  18. 电网络节点电压matlab,电力网潮流电压计算例题与matlab程序技术总结.docx
  19. 马云与史玉柱经典语录
  20. GAN应用案例:音频转图像

热门文章

  1. ARM CORTEX M0 程序镜像和启动逻辑
  2. C语言库文件ctype.h中重要的库函数
  3. 小米一元流量magisk_小米推出5G定制电话卡,资费月49元起,成最便宜5G手机套餐!...
  4. 买房子还是不买房子,这是一个问题
  5. 闲鱼公布2021年度十大“无用”商品:网友买前壮志 买后吃灰
  6. 被400万人痛骂!在中国火了22年的“洋网红”,套路彻底失灵了?
  7. 华为供应链公司已收到华为Mate50手机设计方案
  8. iPhone近两个财季为苹果带来1135亿美元营收 同比增长33%
  9. 月球好忙 蓝色起源2024年要将首位女性送上月球表面
  10. 雷军微博正式“确认”:Redmi Note 9 5G高配版处理器就是它