ホームページ  >  記事  >  バックエンド開発  >  Go 言語の練習: MySQL を使用してデータを保存する

Go 言語の練習: MySQL を使用してデータを保存する

WBOY
WBOYオリジナル
2023-06-18 23:49:40978ブラウズ

インターネットの急速な発展に伴い、大量のデータの保存と処理が避けられない傾向になりました。オープンソースで使いやすいデータベース システムであるリレーショナル データベース MySQL は、アプリケーション データの保存によく使用されます。この記事では、Go 言語を使用して MySQL と対話し、データを保存およびクエリする方法を紹介します。

  1. 環境セットアップ
    まず、Go 言語と MySQL データベースをインストールする必要があります。次のコマンドを使用してインストールできます:

    go get -u github.com/go-sql-driver/mysql
  2. データベース接続
    MySQL を使用する前に、MySQL サービスがインストールされ、開始されていることを確認する必要があります。接続するコマンド:

    db, err := sql.Open("mysql", "username:password@tcp(host:port)/dbname")

    このうち、usernamepassword はそれぞれデータベース (host) のユーザー名とパスワードです。 port はそれぞれ MySQL サーバーの IP アドレスとポート、number、dbname は接続するデータベースの名前です。

  3. データベース操作
    次に、データベースに対して CRUD 操作を実行できます。 Go 言語でよく使用される MySQL 操作コマンドは次のとおりです。
    (1) データのクエリ

    rows, err := db.Query("SELECT * FROM table_name")
    defer rows.Close()
    for rows.Next() {
     // 查询结果
    }

    (2) データの挿入

    stmt, err := db.Prepare("INSERT INTO table_name (col1, col2) VALUES (?, ?)")
    _, err = stmt.Exec(val1, val2)

    (3) データの更新

    stmt, err := db.Prepare("UPDATE table_name SET col1 = ? WHERE col2 = ?")
    _, err = stmt.Exec(val1, val2)

    ( 4) データの削除

    stmt, err := db.Prepare("DELETE FROM table_name WHERE col1 = ?")
    _, err = stmt.Exec(val)
  4. 完全な例
    以下は、Go 言語を使用して MySQL と対話する完全な例です:

    package main
    
    import (
     "database/sql"
     "fmt"
     _ "github.com/go-sql-driver/mysql"
    )
    
    func main() {
     db, err := sql.Open("mysql", "username:password@tcp(host:port)/dbname")
     if err != nil {
         fmt.Println(err.Error())
         return
     }
     defer db.Close()
    
     // 查询数据
     rows, err := db.Query("SELECT * FROM table_name")
     if err != nil {
         fmt.Println(err.Error())
         return
     }
     defer rows.Close()
     for rows.Next() {
         var id int
         var name string
         if err := rows.Scan(&id, &name); err != nil {
             fmt.Println(err.Error())
             return
         }
         fmt.Printf("id: %d, name: %s
    ", id, name)
     }
    
     // 插入数据
     stmt, err := db.Prepare("INSERT INTO table_name (id, name) VALUES (?, ?)")
     if err != nil {
         fmt.Println(err.Error())
         return
     }
     defer stmt.Close()
     _, err = stmt.Exec(1, "test")
     if err != nil {
         fmt.Println(err.Error())
         return
     }
    
     // 更新数据
     stmt, err = db.Prepare("UPDATE table_name SET name = ? WHERE id = ?")
     if err != nil {
         fmt.Println(err.Error())
         return
     }
     defer stmt.Close()
     _, err = stmt.Exec("updated_test", 1)
     if err != nil {
         fmt.Println(err.Error())
         return
     }
    
     // 删除数据
     stmt, err = db.Prepare("DELETE FROM table_name WHERE id = ?")
     if err != nil {
         fmt.Println(err.Error())
         return
     }
     defer stmt.Close()
     _, err = stmt.Exec(1)
     if err != nil {
         fmt.Println(err.Error())
         return
     }
    }
  5. 概要
    上記の例を通して、Go 言語を使用して MySQL と対話するのは非常に便利で簡単であることがわかります。データベースの操作は、開発中にすべての開発者が頻繁に行う必要がある作業であり、Go 言語と MySQL の間の対話をマスターすることは、アプリケーションの開発と保守に非常に役立ちます。

以上がGo 言語の練習: MySQL を使用してデータを保存するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。