亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

在golang中操作mysql數據庫的實現代碼

 更新時間:2018年09月04日 14:19:49   作者:JimPang  
這篇文章主要介紹了在golang中操作mysql數據庫的實現代碼,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下

前言

Golang 提供了database/sql包用于對SQL數據庫的訪問, 作為操作數據庫的入口對象sql.DB, 主要為我們提供了兩個重要的功能:

•sql.DB 通過數據庫驅動為我們提供管理底層數據庫連接的打開和關閉操作.

•sql.DB 為我們管理數據庫連接池

需要注意的是,sql.DB表示操作數據庫的抽象訪問接口,而非一個數據庫連接對象;它可以根據driver打開關閉數據庫連接,管理連接池。正在使用的連接被標記為繁忙,用完后回到連接池等待下次使用。所以,如果你沒有把連接釋放回連接池,會導致過多連接使系統資源耗盡。

Golang操作mysql簡介

Golang操作mysql數據庫的感覺有點想php中的pdo對mysql操作,假設你原本是phper轉型到golang中的接受起來很親切,總體的感覺非常簡單

Golang操作mysql的注意點

golang實現了對mysql操作的標準庫然而卻沒有實現mysql的驅動

因此我們需要先從github中下載go-sql-driver這個驅動包(建議在src目錄下執(zhí)行),使用命令如下所示:

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

在test數據庫中建立表字段如下所示

CREATE TABLE IF NOT EXISTS `test`.`user` (
 `user_id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '用戶編號',
 `user_name` VARCHAR(45) NOT NULL COMMENT '用戶名稱',
 `user_age` TINYINT(3) UNSIGNED NOT NULL DEFAULT 0 COMMENT '用戶年齡',
 `user_sex` TINYINT(3) UNSIGNED NOT NULL DEFAULT 0 COMMENT '用戶性別',
 PRIMARY KEY (`user_id`))
 ENGINE = InnoDB
 AUTO_INCREMENT = 1
 DEFAULT CHARACTER SET = utf8
 COLLATE = utf8_general_ci
 COMMENT = '用戶表'

實現對數據的增(insert)操作

package main
import (
 "fmt"
 "database/sql"
 //導入mysql的驅動
 _ "github.com/go-sql-driver/mysql" 
)
func main(){
 //使用database/sql包中的Open連接數據庫
 db,err := sql.Open("mysql","root:root@tcp(localhost:3306)/test?charset=utf8")
 if err != nil {
 fmt.Println("連接數據庫失敗:",err)
 return 
 }
 //使用DB結構體實例方法Prepare預處理插入,Prepare會返回一個stmt對象
 stmt,err := db.Prepare("insert into `user`(user_name,user_age,user_sex)values(?,?,?)")
 if err!=nil{
 fmt.Println("預處理失敗:",err)
 return  
 }
 //使用Stmt對象執(zhí)行預處理參數
 result,err := stmt.Exec("pengjin",33,"男")
 if err!=nil{
 fmt.Println("執(zhí)行預處理失敗:",err)
 return  
 }else{
 rows,_ := result.RowsAffected()
 fmt.Println("執(zhí)行成功,影響行數",rows,"行" )
 }
}

如上代碼有一種操作php中pdo的感覺 ,如上代碼實際上也可以不編寫Prepare方法直接通過Stmt實例的Exec方法直接實現

總結

以上所述是小編給大家介紹的在golang中操作mysql數據庫的實現代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!

相關文章

  • MySQL數據庫索引的弊端及合理使用

    MySQL數據庫索引的弊端及合理使用

    索引可以說是數據庫中的一個大心臟了,如果說一個數據庫少了索引,那么數據庫本身存在的意義就不大了,和普通的文件沒什么兩樣,本文從細節(jié)和實際業(yè)務的角度看看在MySQL中B+樹索引好處
    2021-11-11
  • 淺談mysql的中文亂碼問題

    淺談mysql的中文亂碼問題

    本文主要給大家分享了本人在項目中遇到的一些mysql中文亂碼的問題的解決方法,非常簡單實用,這里推薦給大家,有需要的小伙伴可以參考下。
    2015-03-03
  • mysql隔離級別詳解及示例

    mysql隔離級別詳解及示例

    經常提到數據庫的事務,那你知道數據庫還有事務隔離的說法嗎,本文主要介紹了mysql的四種隔離級別,具有一定的參考價值,感興趣的可以了解一下
    2021-09-09
  • 基于Windows安裝MySQL 8.0.12圖文教程

    基于Windows安裝MySQL 8.0.12圖文教程

    這篇文章主要為大家詳細介紹了基于Windows安裝MySQL 8.0.12圖文教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-08-08
  • MySQL自增ID耗盡實例講解

    MySQL自增ID耗盡實例講解

    這篇文章主要給大家介紹了關于MySQL自增ID耗盡的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用Mysql具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-03-03
  • 將MySQL數據庫移植為PostgreSQL

    將MySQL數據庫移植為PostgreSQL

    PostgreSQL 作為功能最強勁的開源 OO 數據庫,仿佛一直不為國內用戶所熟識。而我個人也僅是因為工作的緣故接觸到這款超經典的數據庫,并深為之折服。
    2009-07-07
  • pycharm2017實現python3.6與mysql的連接

    pycharm2017實現python3.6與mysql的連接

    這篇文章主要為大家詳細介紹了PyCharm連接MySQL數據庫的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-03-03
  • SQL?Group?By分組后如何選取每組最新的一條數據

    SQL?Group?By分組后如何選取每組最新的一條數據

    經常在分組查詢之后,需要的是分組的某行數據,例如更新時間最新的一條數據,下面這篇文章主要給大家介紹了關于SQL?Group?By分組后如何選取每組最新的一條數據的相關資料,需要的朋友可以參考下
    2022-10-10
  • mysql VARCHAR的最大長度到底是多少

    mysql VARCHAR的最大長度到底是多少

    今天群里有人問varchar 不是最大應該只可以設置65532(第一個字節(jié)+兩個長度字節(jié))嗎 ,但是為什么可以設置成65533
    2012-10-10
  • 簡單談談mysql左連接內連接

    簡單談談mysql左連接內連接

    這篇文章主要給大家介紹了關于mysql左連接內連接的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-01-01

最新評論