数据库是当今大多数动态内容网站的主要动力,但大多数时候数据库是隐藏的。任何应用程序或网站都必须能够连接到数据库,以便根据不同情况持久化/保存数据和服务器数据。
下面使用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&...¶mN=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() }
输出 :
> ./connectmysqlTitle of tutorial is : A tutorial for Go's database/sql packageTitle of tutorial is : Check CentOS versionTitle of tutorial is : CodeIgniter : Import Linkedin dataTitle of tutorial is : CodeIgniter : Load different view for mobile devicesTitle of tutorial is : Convert JSON to CSV in GolangTitle of tutorial is : Create directory in GoTitle of tutorial is : Default cipher that OpenSSL used to encrypt a PEM fileTitle of tutorial is : Delete a directory in GoTitle of tutorial is : Detect Operating System in GoTitle of tutorial is : Elasticsearch : Shutdown a local node