溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Golang中怎么使用MySQL

發布時間:2021-07-20 15:57:22 來源:億速云 閱讀:175 作者:Leah 欄目:編程語言

Golang中怎么使用MySQL,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

1、建立連接
首先是Open,

復制代碼 代碼如下:

db, err := sql.Open(“mysql”, “user:password@/dbname”)


db 是一個*sql.DB類型的指針,在后面的操作中,都要用到db
open之后,并沒有與數據庫建立實際的連接,與數據庫建立實際的連接是通過Ping方法完成。此外,db應該在整個程序的生命周期中存在,也就是說,程序一啟動,就通過Open獲得db,直到程序結束,再Close db,而不是經常Open/Close。

復制代碼 代碼如下:

err = db.Ping()

2、基本用法
DB的主要方法有:
Query 執行數據庫的Query操作,例如一個Select語句,返回*Rows

QueryRow 執行數據庫至多返回1行的Query操作,返回*Row

PrePare 準備一個數據庫query操作,返回一個*Stmt,用于后續query或執行。這個Stmt可以被多次執行,或者并發執行

Exec 執行數不返回任何rows的據庫語句,例如delete操作

3、簡單實例

復制代碼 代碼如下:


package main

import (
 "database/sql"
 "fmt"
 _ "github.com/go-sql-driver/mysql"
)

type User struct {
 id                 int
 username, password string
}

var sqldata map[interface{}]interface{}

func main() {
 var u User
 db, err := sql.Open("mysql", "root:@/test?charset=utf8")
 check(err)
 插入數據
 stmt, err := db.Prepare("INSERT user SET username=?,password=?")
 check(err)
 res, err := stmt.Exec("xiaowei", "xiaowei")
 check(err)
 id, err := res.LastInsertId()
 check(err)
 fmt.Println(id)
 //查詢數據
 rows, err := db.Query("SELECT * FROM user")
 check(err)

 fmt.Println(rows.Columns())
 userinfo := make(map[interface{}]interface{})
 for rows.Next() {
  err := rows.Scan(&u.id, &u.username, &u.password)
  check(err)
  userinfo[u.id] = u
 }
 fmt.Println(userinfo)
}

func check(err error) {
 if err != nil {
  fmt.Println(err)
 }
}

關于Golang中怎么使用MySQL問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女