go语言提供了数据库访问的统一接口,但是自己自己的具体数据库访问驱动实现。
开源比较常用的有go-sql-driver/mysql(原来的go-mysql-driver)和mymysql
我个人比较倾向于go-sql-driver,实现规范,通用性强
Go-SQL-Driver是它的新名字,已经迁移到了gitbub,地址:https://github.com/Go-SQL-Driver/MySQL
安装使用很简单
$ go get github.com/Go-SQL-Driver/MySQL
就按装到GOPATH下了
使用也简单,拿他的例子:
新建一张表
CREATE TABLE `squareNum` ( `number` int(11) NOT NULL, `squareNumber` int(11) NOT NULL, PRIMARY KEY (`number`) )
数据库操作
package main import ( "database/sql" "fmt" _ "github.com/Go-SQL-Driver/MySQL" //引入mysql驱动 ) func main() { /*DSN数据源名称 [username[:password]@][protocol[(address)]]/dbname[?param1=value1¶mN=valueN] user@unix(/path/to/socket)/dbname user:password@tcp(localhost:5555)/dbname?charset=utf8&autocommit=true user:password@tcp([de:ad:be:ef::ca:fe]:80)/dbname?charset=utf8mb4,utf8 user:password@/dbname 无数据库: user:password@/ */ db, err := sql.Open("mysql", "root:123456@tcp(192.168.1.203:3306)/test") //第一个参数数驱动名 if err != nil { panic(err.Error()) } defer db.Close() // 欲编译语句,插入数据,这个是标准的go接口,所以只要标准sql,其他数据库通用的,只要换上面的驱动名 stmtIns, err := db.Prepare("INSERT INTO squareNum VALUES( ?, ? )" ) // ? = 占位符 if err != nil { panic(err.Error()) } defer stmtIns.Close() // main结束是关闭 // Prepare statement for reading data stmtOut, err := db.Prepare("SELECT squareNumber FROM squareNum WHERE number = ?") if err != nil { panic(err.Error()) } defer stmtOut.Close() // Insert square numbers for 0-24 in the database for i := 0; i < 25; i++ { _, err = stmtIns.Exec(i, (i * i)) // 执行插入 if err != nil { panic(err.Error()) } } var squareNum int // we "scan" the result in here // Query the square-number of 13 err = stmtOut.QueryRow(13).Scan(&squareNum) // WHERE number = 13 if err != nil { panic(err.Error()) } fmt.Printf("The square number of 13 is: %d", squareNum) // Query another number.. 1 maybe? err = stmtOut.QueryRow(1).Scan(&squareNum) // WHERE number = 1 if err != nil { panic(err.Error()) } fmt.Printf("The square number of 1 is: %d", squareNum) }
相关推荐
`github.com/go-sql-driver/mysql`是Go语言中用于连接MySQL数据库的一个驱动程序,它实现了`database/sql`包的接口,使得开发者可以方便地进行数据库交互。这个驱动为Go程序员提供了一个高效、简洁的方式来与MySQL...
在本文中,我们将深入探讨`go-sql-driver.zip`中包含的`go-sql-driver`,这是一个用于Go语言(Golang)的MySQL数据库驱动。这个驱动程序使得在Go应用程序中与MySQL服务器进行交互变得简单而高效。我们将会讨论其版本...
该项目是利用go-sql-driver/mysql驱动的Go语言数据库操作辅助包Gendry的设计源码,包含23个文件,其中包括12个Go源代码文件、6个Markdown文档、1个YAML配置文件、1个Git忽略文件、1个LICENSE文件、1个go.mod文件和1...
Beerus-DB是一个数据库操作框架,目前只支持Mysql, 使用 [go-sql-driver/mysql] 进行数据库连接和基本操作, 基于此做很多扩展,比如连接池管理、 多数据源,事务管理,单表无SQL操作, 多个表和复杂操作可以自己...
Go MySQL Driver是一个专门为Go语言设计的轻量级且高效的MySQL数据库驱动程序,它使得Go语言与MySQL数据库之间的交互变得更加简单和高效。这个驱动程序遵循了Go的`database/sql`包的接口规范,允许开发者利用Go的...
golang-db-sql-benchmark流行的Go数据库/ SQL实用程序的基准的集合测试中的数据库database / sql + go-sql-driver / mysql gocraft / dbr Gorp Sqlx Squirrel数据库/ sql SQL golang-db-sql-benchmark A流行的Go...
在Go语言中连接MySQL数据库,我们需要使用特定的工具包,这个工具包通常被称为`go-sql-driver/mysql`。这个库允许Go程序通过SQL语句与MySQL数据库进行交互。 首先,安装`go-sql-driver/mysql`库。在Go环境中,可以...
`mysql-master`很可能是一个包含MySQL数据库驱动的Go项目的源码分支,用户可以将其解压后在本地使用,而无需直接访问GitHub。 在Go语言中,`database/sql`包是用于数据库操作的标准库,它提供了一种高级接口,可以...
Go MySQL Driver 是 Go(golang)数据库/sql 包的 MySQL 驱动程序
MySQL驱动是Go语言应用程序与MySQL数据库交互的桥梁,使得开发者能够通过Go语言执行SQL查询,管理数据库。 2. **GC优化**: Go语言中的垃圾收集器(GC)负责自动管理内存,避免内存泄漏。在高性能系统中,GC的性能...
ODBC 是一个标准的 API,它提供了一个统一的方式来访问各种数据库系统,如 SQL Server、Oracle、MySQL 等。 在 Go 中使用 golang-odbc 驱动,首先需要确保你的系统已经安装了 ODBC 驱动程序和数据源。数据源是 ODBC...
在Golang中,MySQL驱动是连接数据库的关键组件,使得开发者能够使用Go语言执行SQL查询、管理数据等操作。本文将详细介绍“golangMysql驱动.zip”文件中的内容,特别是流行的Go-SQL-Driver/MySQL驱动,并指导如何在...
在本教程中,我们将学习如何使用 MATLAB 访问 MySQL 数据库,并提供详细的代码示例。 一步:下载和安装 MySQL JDBC 驱动 要使用 MATLAB 访问 MySQL 数据库,首先需要下载和安装 MySQL 的 JDBC 驱动。可以从互联网...
《Go语言数据库SQL教程翻译》 在Go语言的开发中,与数据库的交互是一个不可或缺的部分。`go-database-sql`库提供了标准的SQL接口,使得开发者能够方便地操作各种类型的数据库。本教程是对英文版`go-database-sql-...
Go-MySQL 驱动程序Go数据库/sql包的 MySQL 驱动程序特征要求安装用法DSN(数据源名称)密码协议地址参数示例连接池和超时context.Context 支持ColumnType 支持LOAD DATA LOCAL INFILE 支持time.Time 支持Unicode ...
在实际的应用开发中,除了直接使用ODBC连接SQL Server之外,还可以使用Go语言提供的其它数据库连接库,如database/sql库结合特定的数据库驱动,例如***/denisenkom/go-mssqldb或者***/go-sql-driver/mysql等。...
总结,Go语言连接MySQL数据库主要涉及`go-sql-driver/mysql`包的使用,通过`sql.Open()`建立连接,然后使用`Query()`和`Exec()`执行SQL操作。记得处理好错误和关闭连接,以及在需要时使用事务来保证数据的一致性。...
Go-MySQL-Driver GoMySQL-Driver数据库/ sql软件包的功能要求安装用法DSN(数据源名称)密码协议地址参数示例Go-MySQL-Driver GoMySQL-Driver数据库/ sql软件包的功能要求安装用法DSN (数据源名称)密码协议地址...
Go-MySQL-DriverA MySQL-Driver for Go's packageFeaturesLightweight and Native Go implementation. No C-bindings, just pure GoConnections over TCP/IPv4, TCP/IPv6, Unix domain sockets or Automatic ...
golang-migrate是一个流行的、用于在Go语言中管理数据库迁移的库,它支持多种数据库系统,如MySQL、PostgreSQL、SQLite等。Packr源驱动程序则是这个库的一个扩展,为开发人员提供了额外的功能和便利。 首先,我们...