老男孩教育-Go语言操作MySQL(一)

  MySQL是老男一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,孩教目前属于 Oracle 旗下产品。育Go语言操MySQL 是老男最流行的关系型数据库管理系统之一,在 WEB 应用方面,孩教MySQL是育Go语言操最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件。老男

  Go语言MySQL包

老男孩教育-Go语言操作MySQL(一)

  使用第三方开源的孩教mysql库:

  github.com/go-sql-driver/mysql (MySQL驱动)

  github.com/jmoiron/sqlx (基于MySQL驱动的封装)

  通过如下命令,保存下载第三方库:

go get github.com/go-sql-driver/mysql go get github.com/jmoiron/sqlx

  创建数据库、育Go语言操数据表

  在MySQL下创建 oldboy库:

mysql> CREATE DATABASE IF NOT EXISTS oldboy DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

  在oldboy库中创建student表。老男

mysql> use oldboy; mysql> CREATE TABLE IF NOT EXISTS `student`( `id` int(10) unsigned NOT NULL AUTO_INCREMENT,孩教 `name` varchar(100) NOT NULL, `sex` varchar(40) NOT NULL, `age` int(11) DEFAULT NULL, `course` varchar(100) NOT NULL, PRIMARY KEY (`id`) )ENGINE=InnoDB DEFAULT CHARSET=utf8;

  MySQL连接池

  数据库连接使用datebase/sql Open函数进行连接,用户应该通过db.Ping()函数来检查数据库是育Go语言操否实际可用。

package main import ( "fmt" _ "github.com/go-sql-driver/mysql" "github.com/jmoiron/sqlx" ) func main() { //DB,老男 err := sqlx.Open("数据库类型", "用户名:密码@tcp(地址:端口)/数据库名") DB, err := sqlx.Open("mysql", "root:root@tcp(127.0.0.1:3306)/oldboy") if err != nil { fmt.Println("Open mysql failed,", err) } err = DB.Ping() if err != nil { fmt.Println("Ping mysql failed,", err) } else { fmt.Println("MySQL client success") } }

  连接池配置

  配置连接池有两个的函数:

  设置最大数据库连接:使用 db.SetMaxOpenConns(n int) 函数设置打开数据库的服务器租用最大连接数。包含正在使用的孩教连接和连接池的连接。如果你的育Go语言操函数调用需要申请一个连接,并且连接池已经没有了连接或者连接数达到了最大连接数。此时的函数调用将会被block,直到有可用的连接才会返回。设置这个值可以避免并发太高导致连接mysql出现too many connections的错误。该函数的默认设置是0,表示无限制。

  设置最大空闲连接:使用db.SetMaxIdleConns(n int) 函数设置连接池中的保持连接的最大连接数。默认也是源码下载0,表示连接池不会保持释放会连接池中的连接的连接状态:即当连接释放回到连接池的时候,连接将会被关闭。这会导致连接再连接池中频繁的关闭和创建。

  老男孩教育专注Linux云计算运维工程师、Python全栈+人工智能、Python自动化运维开发、网络安全、数据分析、新媒体运营、MySQLDBA开发、K8S微服务、Go语言等互联网课程培训。欢迎对it行业感兴趣的朋友们来公司考察及学习。

  推荐阅读:

  Python可以在手机上运行吗?Python视频教程!

  Python中tuple和list有什么区别?Python入门!

  Python网络爬虫之jupyter环境安装

人工智能
上一篇:使用U盘安装固态硬盘系统教程(一步步教你如何将系统安装到固态硬盘上)
下一篇:W10系统备份教程(一步步教你如何以W10系统备份还原,保护你的宝贵数据)