Go での MySQL の使用: 完全ガイド

王林
リリース: 2023-06-17 08:57:10
オリジナル
5517 人が閲覧しました

インターネット アプリケーションの継続的な出現により、データベースは不可欠なコンポーネントになりました。 MySQL は最も人気のあるリレーショナル データベースの 1 つとして、開発に広く使用されています。 Go 言語でデータベース開発に MySQL を使用するにはどうすればよいですか?この記事では、Go 言語で MySQL を使用するために必要な完全なガイドを読者に詳しく紹介します。

1. MySQL ドライバーをインストールします: Go-MySQL-Driver

Go 言語で MySQL を使用するには、MySQL ドライバーをインストールする必要があります。現在、Go 言語は公式に SQL パッケージを提供していますが、MySQL ドライバーは提供していないため、サードパーティのライブラリを使用する必要があります。 Go-MySQL-Driver は、Go 言語によって公式に推奨されている MySQL ドライバーであり、Go 言語で MySQL を使用する場合に最適です。インストールは非常に簡単です。次のコードを使用してインストールできます。

go get -u github.com/go-sql-driver/mysql
ログイン後にコピー

2. MySQL データベースに接続します

MySQL を使用する前に、まず MySQL データベースに接続する必要があります。 MySQL データベースに接続するには、データベースの接続文字列を使用する必要があります。接続文字列には、ユーザー名、パスワード、アドレス、ポート番号、データベース名、その他の情報が含まれます。

MySQL データベースに接続するコード例は次のとおりです:

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

func openDB() (*sql.DB, error) {
  db, err := sql.Open("mysql", "user:password@tcp(127.0.0.1:3306)/database")
  if err != nil {
    return nil, err
  }
  return db, nil
}
ログイン後にコピー

コード分析:

sql.Open() メソッドを使用して MySQL 接続を開きます。最初のパラメータは MySQL ドライバ名で、2 番目のパラメータは MySQL データベースの接続文字列です。このうち、接続文字列にはユーザー名、パスワード、アドレス、ポート番号に関する情報が含まれており、最後の文字列はデータベース名です。

3. データ テーブルの作成

MySQL に接続したら、次はデータ テーブルを作成します。テーブルを操作するには、データベース オブジェクトを使用する必要があります。 Go 言語では、データベース オブジェクトは sql.DB 型であり、これを通じてデータ テーブルの作成、変更、削除などのデータベース操作を実行できます。

golang を使用してデータ テーブルを作成するコード例は次のとおりです:

func create() error {
  db, err := openDB()
  if err != nil {
    return err
  }
  defer db.Close()
  _, err = db.Exec(`
    CREATE TABLE IF NOT EXISTS Users (
      id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, 
      name VARCHAR(50) NOT NULL, 
      age INT NOT NULL, 
      email VARCHAR(50) NOT NULL
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  `)
  if err != nil {
    return err
  }
  return nil
}
ログイン後にコピー

コード分析:

コードはまず Open() を通じて MySQL データベースに接続します。メソッドを実行し、SQL コマンドでテーブルを作成する処理を実行する場合、MySQL コマンドは () を記述する必要があります。

4. データの挿入

データ テーブルを作成したら、次のステップはテーブルにデータを挿入することです。 Go 言語でデータを挿入するには、データベース オブジェクトの Exec() メソッドを使用する必要があります。

データを挿入するコード例は次のとおりです:

func insert() error {
  db, err := openDB()
  if err != nil {
    return err
  }
  defer db.Close()
  _, err = db.Exec("INSERT INTO Users (name, age, email) VALUES (?, ?, ?)", "Tom", 23, "tom@example.com")
  if err != nil {
    return err
  }
  return nil
}
ログイン後にコピー

コード分析:

データをデータベースに挿入するとき、Exec() メソッドの最初のパラメーターはSQLコマンド。変数値は、SQL コマンドにパラメータを渡すために使用されます。パラメータ名は疑問符 (?) で表されます。

5. データのクエリ

Go 言語は、Query() 関数を通じてデータベースにクエリを実行します。 Query() 関数のタイプは func Query(クエリ文字列, args...interface{}) です。最初のパラメータは SQL クエリ ステートメントであり、2 番目のパラメータは SQL クエリ ステートメントで必要なパラメータの値です。パラメータはカンマで区切ります。

データをクエリするコード例は次のとおりです:

func query() error {
  db, err := openDB()
  if err != nil {
    return err
  }
  defer db.Close()
  rows, err := db.Query("SELECT id, name, age, email FROM Users")
  if err != nil {
    return err
  }
  defer rows.Close()

  for rows.Next() {
    var id, age int
    var name, email string
    if err := rows.Scan(&id, &name, &age, &email); err != nil {
      return err
    }
    fmt.Println(id, name, age, email)
  }
  return nil
}
ログイン後にコピー

コード分析:

Query() メソッドを使用してクエリ操作を実行し、Scan() メソッドを使用します。行ごとに読み取ります データを取得します。

6. データの変更

Go 言語でデータを変更するには、データベース オブジェクトの Exec() メソッドを使用する必要があります。

データを変更するサンプル コードは次のとおりです。

func update() error {
  db, err := openDB()
  if err != nil {
    return err
  }
  defer db.Close()
  _, err = db.Exec("UPDATE Users SET age = ? WHERE name = ?", 25, "Tom")
  if err != nil {
    return err
  }
  return nil
}
ログイン後にコピー

コード分析:

Exec() メソッドを使用して変更操作を実行します。

7. データの削除

Go 言語でデータを削除するには、データベース オブジェクトの Exec() メソッドを使用し、DELETE ステートメントを実行する必要があります。

データを削除するサンプル コードは次のとおりです。

func delete() error {
  db, err := openDB()
  if err != nil {
    return err
  }
  defer db.Close()
  _, err = db.Exec("DELETE FROM Users WHERE name = ?", "Tom")
  if err != nil {
    return err
  }
  return nil
}
ログイン後にコピー

コード分析:

Exec() メソッドを使用して削除操作を実行します。

8. 概要

上記は、Go 言語で MySQL を使用するための完全なガイドであり、この記事を通じて、Go 言語と MySQL データベースを組み合わせるベスト プラクティスがわかります。 Go 言語での MySQL データベースの操作は非常にシンプルかつ直感的であり、Go 言語と MySQL の互換性は優れています。最後に、この記事が、Go 言語で MySQL を使用するスキルをよりよく理解し、習得するのに役立つことを願っています。

以上がGo での MySQL の使用: 完全ガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!