在go语言中怎么连接到数据库(MySQL/MariaDB)服务器

2023-06-01 00:00:00 数据库 语言 连接到

数据库是当今大多数动态内容网站的主要动力,但大多数时候数据库是隐藏的。任何应用程序或网站都必须能够连接到数据库,以便根据不同情况持久化/保存数据和服务器数据。

下面使用go语言连接到MySQL/MariaDB服务器,需要用到第三方包:

github.com/go-sql-driver/mysql

它还假设您已经了解并设置了 MySQL 或 MariaDB 数据库。

这些代码将演示如何连接到数据库服务器并使用select语句检索一些数据。


代码示例:

 package main
 
 import (
         "database/sql"
         "fmt"
         // 如果没有下划线_,你会得到已导入但未使用的错误信息。
             // 使用的错误信息
         _ "github.com/go-sql-driver/mysql"
         "os"
 )
 func main() {
         // 用数据源名称连接到我们的数据库服务器
             // 数据源名称配置有以下参数。 
             // [username[:password]@][protocol[(address)]]/dbname[?param1=value1&...&paramN=valueN]
         // 示例配置 :
         // user:[email protected](127.0.0.1:3306)/database
         conn, err := sql.Open("mysql", "db_username:[email protected](address:port_num)/database_name")
         if err != nil {
                 fmt.Println(err)
                 os.Exit(1)
         }
         
         // 使用你自己的选择语句
             // 这只是一个示例语句
         statement, err := conn.Prepare("select title from posts limit 10") 
         if err != nil {
                 fmt.Println(err)
                 os.Exit(1)
         }
         
             // 执行我们的选择语句
         rows, err := statement.Query() 
         if err != nil {
                 fmt.Println(err)
                 os.Exit(1)
         }
         
         for rows.Next() {
                 var title string
                 rows.Scan(&title)
                 fmt.Println("Title of tutorial is :", title)
         }
         conn.Close()
 }


输出 :

> ./connectmysql
Title of tutorial is : A tutorial for Go's database/sql package
Title of tutorial is : Check CentOS version
Title of tutorial is : CodeIgniter : Import Linkedin data
Title of tutorial is : CodeIgniter : Load different view for mobile devices
Title of tutorial is : Convert JSON to CSV in Golang
Title of tutorial is : Create directory in Go
Title of tutorial is : Default cipher that OpenSSL used to encrypt a PEM file
Title of tutorial is : Delete a directory in Go
Title of tutorial is : Detect Operating System in Go
Title of tutorial is : Elasticsearch : Shutdown a local node

相关文章