ホームページ > データベース > mysql チュートリアル > Go 言語を使用した MySQL データベース プログラミング: 初心者から熟練者まで

Go 言語を使用した MySQL データベース プログラミング: 初心者から熟練者まで

WBOY
リリース: 2023-06-17 19:16:58
オリジナル
1419 人が閲覧しました

インターネットの発展に伴い、データベースはデータを保存する主な方法の 1 つになりました。 MySQL は、オープンソースで使いやすく強力なリレーショナル データベースとして、今日のインターネット開発の標準となっています。高速で効率的なプログラミング言語として、Go 言語はますます多くの開発者に好まれています。では、MySQL データベース プログラミングのために 2 つを組み合わせるにはどうすればよいでしょうか?この記事では初心者からマスターまでわかりやすく解説します。

1. Go 言語開発環境のインストールとセットアップ

Go 言語の公式 Web サイトでは、さまざまなオペレーティング システムに適したインストール プログラムが提供されており、ご自身の環境に応じて適切なインストール プログラムを選択してインストールできます。オペレーティング システムのバージョンです。インストールが完了したら、Go 言語に関連する環境変数を設定する必要があります。

1. GOROOT を設定します

GOROOT は Go 言語のインストール パスです Windows システムでは、Go 言語のインストール パスを環境変数に追加する必要があります。他のシステムでは、GOROOT を Go 言語のインストール パスに設定する必要があります。

2. GOPATH の設定

GOPATH は Go 言語の作業ディレクトリであり、Go コードが保存されるパスです。 GOPATH が設定されていない場合、Go 言語はデフォルトで現在のユーザーのホーム ディレクトリに Go という名前の新しいディレクトリを作成し、それを GOPATH として使用します。したがって、他の開発言語で使用されるディレクトリとの競合を防ぐために、GOPATH を設定することをお勧めします。

2. MySQL のインストール

Go 言語には MySQL のサポートが組み込まれていないため、MySQL にアクセスするにはサードパーティのドライバーを使用する必要があります。サードパーティのドライバーを使用する前に、MySQL データベースをインストールする必要があります。 MySQL データベースのインストール方法は非常に柔軟なので、ここでは説明しません。

3. MySQL ドライバーをインストールする

Go 言語にはサードパーティ製の MySQL ドライバーが多数あり、よく使用されるドライバーには go-sql-driver/mysql や mysql-orm などがあります。この記事では go を使用します。 - sql-driver/mysql を例として、インストール手順は次のとおりです:

1. ターミナルまたはコマンド ライン ツールに次のコマンドを入力します:

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

2. ダウンロードが完了したら、コードにモジュールをインポートします:

import "github.com/go-sql-driver/mysql"

4. MySQL データベースへの接続

MySQL ドライバーを使用する前に、対応する接続​​を確立する必要があります。次に、Go 言語コードを使用して接続する方法を示します。

1. main.go ファイルを作成する

開いたテキスト エディタで新しい main.go ファイルを作成します。

2. 必要なモジュールをインポートします

main.go ファイルの先頭に必要なモジュールをインポートします:

package main

import (

"fmt"
"database/sql"
_ "github.com/go-sql-driver/mysql"
ログイン後にコピー

)

3. 接続を確立する

次のコードを main.go ファイルに追加して、MySQL データベースとの接続を確立します:

func main () {

db, err := sql.Open("mysql", "username:password@tcp(127.0.0.1:3306)/dbname?charset=utf8")
if err != nil {
    fmt.Println("open mysql failed,", err)
    return
}
defer db.Close()
fmt.Println("connect to mysql success")
ログイン後にコピー

}

このうち、username は MySQL ユーザー名、password は MySQL パスワード、dbname は接続するデータベース名、tcp はプロトコル、127.0.0.1は IP アドレス、3306 はポート番号、charset 指定された文字セットは utf8 です。

5. SQL クエリと挿入操作を実行する

データベースに正常に接続したら、Go 言語コードを使用して SQL クエリと挿入操作を実行できます。以下では、クエリ操作と挿入操作を個別に説明します。

1. SQL クエリ操作の実行

Go 言語コードを使用して SQL クエリ操作を実行するのは非常に簡単で、完了するのに必要なコードは数行だけです。たとえば、ユーザー テーブル内のすべてのデータをクエリします:

func main() {

// 建立连接

rows, err := db.Query("SELECT * FROM user")
if err != nil {
    fmt.Println("query data failed,", err)
    return
}
defer rows.Close()

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

}

2. SQL 挿入操作を実行します

Go を使用します。言語コード SQL 挿入操作の実行も非常に簡単で、数行のコードのみで完了します。たとえば、ユーザー テーブルに新しいデータを挿入します。

func main() {

// 建立连接

stmt, err := db.Prepare("INSERT INTO user(name, age) VALUES (?, ?)")
if err != nil {
    fmt.Println("prepare failed,", err)
    return
}
defer stmt.Close()

res, err := stmt.Exec("john", 29)
if err != nil {
    fmt.Println("insert data failed,", err)
    return
}

lastInsertId, err := res.LastInsertId()
if err != nil {
    fmt.Println("get last insert id failed,", err)
    return
}
fmt.Println("last insert id:", lastInsertId)
rowsAffected, err := res.RowsAffected()
if err != nil {
    fmt.Println("get rows affected failed,", err)
    return
}
fmt.Println("rows affected:", rowsAffected)
ログイン後にコピー

}

Go 言語を使用した MySQL データベース プログラミングは、学習と使用が非常に簡単です。これらをマスターすると、知識を習得した後、トランザクションや接続プーリングなど、より複雑な操作を試すことができます。つまり、この記事の説明を通じて、皆さんは Go 言語と MySQL データベースの組み合わせに関する基礎知識を習得したと思いますので、その後の Go 言語開発で皆さんの才能を最大限に発揮していただければ幸いです。

以上がGo 言語を使用した MySQL データベース プログラミング: 初心者から熟練者までの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート