當前位置:編程學習大全網 - 源碼下載 - GO語言(三十):訪問關系型數據庫(上)

GO語言(三十):訪問關系型數據庫(上)

本教程介紹了使用 Godatabase/sql及其標準庫中的包訪問關系數據庫的基礎知識。

您將使用的database/sql包包括用於連接數據庫、執行事務、取消正在進行的操作等的類型和函數。

在本教程中,您將創建壹個數據庫,然後編寫代碼來訪問該數據庫。您的示例項目將是有關老式爵士樂唱片的數據存儲庫。

首先,為您要編寫的代碼創建壹個文件夾。

1、打開命令提示符並切換到您的主目錄。

在 Linux 或 Mac 上:

在 Windows 上:

2、在命令提示符下,為您的代碼創建壹個名為 data-access 的目錄。

3、創建壹個模塊,您可以在其中管理將在本教程中添加的依賴項。

運行go mod init命令,為其提供新代碼的模塊路徑。

此命令創建壹個 go.mod 文件,您添加的依賴項將在其中列出以供跟蹤。

註意: 在實際開發中,您會指定壹個更符合您自己需求的模塊路徑。有關更多信息,請參閱壹下文章。

GO語言(二十五):管理依賴項(上)

GO語言(二十六):管理依賴項(中)

GO語言(二十七):管理依賴項(下)

接下來,您將創建壹個數據庫。

在此步驟中,您將創建要使用的數據庫。您將使用 DBMS 本身的 CLI 創建數據庫和表,以及添加數據。

您將創建壹個數據庫,其中包含有關黑膠唱片上的老式爵士樂錄音的數據。

這裏的代碼使用MySQL CLI,但大多數 DBMS 都有自己的 CLI,具有類似的功能。

1、打開壹個新的命令提示符。

在命令行,登錄到您的 DBMS,如下面的 MySQL 示例所示。

2、在mysql命令提示符下,創建壹個數據庫。

3、切到您剛剛創建的數據庫,以便您可以添加表。

4、在文本編輯器的 data-access 文件夾中,創建壹個名為 create-tables.sql 的文件來保存用於添加表的 SQL 腳本。

將以下 SQL 代碼粘貼到文件中,然後保存文件。

在此 SQL 代碼中:

(1)刪除名為album表。 首先執行此命令可以讓您更輕松地稍後重新運行腳本。

(2)創建壹個album包含四列的表:title、artist和price。每行的id值由 DBMS 自動創建。

(3)添加帶有值的四行。

5、在mysql命令提示符下,運行您剛剛創建的腳本。

您將使用以下形式的source命令:

6、在 DBMS 命令提示符處,使用SELECT語句來驗證您是否已成功創建包含數據的表。

接下來,您將編寫壹些 Go 代碼進行連接,以便進行查詢。

現在妳已經有了壹個包含壹些數據的數據庫,開始妳的 Go 代碼。

找到並導入壹個數據庫驅動程序,該驅動程序會將您通過database/sql包中的函數發出的請求轉換為數據庫可以理解的請求。

1、在您的瀏覽器中,訪問SQLDrivers wiki 頁面以識別您可以使用的驅動程序。

2、使用頁面上的列表來識別您將使用的驅動程序。為了在本教程中訪問 MySQL,您將使用 Go-MySQL-Driver。

3、請註意驅動程序的包名稱 - 此處為github.com/go-sql-driver/mysql.

4、使用您的文本編輯器,創建壹個用於編寫 Go 代碼的文件,並將該文件作為 main.go 保存在您之前創建的數據訪問目錄中。

5、進入main.go,粘貼以下代碼導入驅動包。

在此代碼中:

(1)將您的代碼添加到main包中,以便您可以獨立執行它。

(2)導入 MySQL 驅動程序github.com/go-sql-driver/mysql。

導入驅動程序後,您將開始編寫代碼以訪問數據庫。

現在編寫壹些 Go 代碼,讓您使用數據庫句柄訪問數據庫。

您將使用指向結構的指針sql.DB,它表示對特定數據庫的訪問。

編寫代碼

1、進入 main.go,在import您剛剛添加的代碼下方,粘貼以下 Go 代碼以創建數據庫句柄。

在此代碼中:

(3)使用 MySQL 驅動程序Config和FormatDSN類型以收集連接屬性並將它們格式化為連接字符串的 DSN。

該Config結構使代碼比連接字符串更容易閱讀。

(4)調用sql.Open 初始化db變量,傳遞 FormatDSN。

(5)檢查來自 的錯誤sql.Open。例如,如果您的數據庫連接細節格式不正確,它可能會失敗。

為了簡化代碼,您調用log.Fatal結束執行並將錯誤打印到控制臺。在生產代碼中,您會希望以更優雅的方式處理錯誤。

(6)調用DB.Ping以確認連接到數據庫有效。在運行時, sql.Open可能不會立即連接,具體取決於驅動程序。您在Ping此處使用以確認 database/sql包可以在需要時連接。

(7)檢查來自Ping的錯誤,以防連接失敗。

(8)Ping如果連接成功,則打印壹條消息。

文件的頂部現在應該如下所示:

3、保存 main.go。

1、開始跟蹤 MySQL 驅動程序模塊作為依賴項。

使用go get 添加 github.com/go-sql-driver/mysql 模塊作為您自己模塊的依賴項。使用點參數表示“獲取當前目錄中代碼的依賴項”。

2、在命令提示符下,設置Go 程序使用的DBUSER和DBPASS環境變量。

在 Linux 或 Mac 上:

在 Windows 上:

3、在包含 main.go 的目錄中的命令行中,通過鍵入go run來運行代碼。

連接成功了!

接下來,您將查詢壹些數據。

  • 上一篇:有哪些好玩的、小眾的APP?
  • 下一篇:股市中的做t是什麽意思 股市中如何做t技巧
  • copyright 2024編程學習大全網