Go 言語の学習: データベースへの接続に関する基本的な知識、具体的なコード例が必要です
Go语言是一种开源的编程语言,其简洁、高效的特性让越来越多的开发者喜爱和使用。在开发过程中,经常需要与数据库建立连接,进行数据的读取、写入、更新和删除等操作。因此,学会如何在Go语言中连接数据库是非常重要的技能。
データベース ドライバー
Go 言語では、 connect データベースにはデータベース ドライバーの使用が必要です。現在、Go 言語の主なデータベース ドライバーは次のとおりです。
この記事では、MySQL データベースを例に挙げて説明します。
データベース ドライバーのインストール
go-mysql-driver を使用して MySQL データベースに接続する前に、まずドライバーをインストールする必要があります。次のコマンドを使用してインストールできます。
go get github.com/go-sql-driver/mysql
インストールが完了したら、Go プログラムにパッケージをインポートし、その中の関数と構造を使用できます。
データベースへの接続
Go 言語で MySQL データベースに接続する手順は次のとおりです。
を使用します。 import
キーワードは、「go-sql-driver/mysql」パッケージをインポートします。 sql.Open()
関数を使用してデータベース接続を開きます。この関数のパラメータは、データベースのドライバー名と接続文字列です。たとえば、sql.Open("mysql", "ユーザー名: パスワード@tcp(localhost:3306)/データベース名")
となります。 Ping()
メソッドを呼び出して、接続が成功したかどうか、つまりデータベースに正常に接続できるかどうかを確認します。 以下はサンプル コードです:
package main import ( "database/sql" "fmt" _ "github.com/go-sql-driver/mysql" ) func main() { // 打开数据库连接 db, err := sql.Open("mysql", "用户名:密码@tcp(localhost:3306)/数据库名称") if err != nil { fmt.Println("数据库连接失败:", err) return } defer db.Close() // 测试连接 err = db.Ping() if err != nil { fmt.Println("连接失败:", err) return } fmt.Println("连接成功!") }
クエリ データ
接続が成功すると、データベース操作を実行できます。以下は、データをクエリするためのサンプル コードです。
rows, err := db.Query("SELECT * FROM table_name") if err != nil { fmt.Println("查询失败:", err) return } defer rows.Close() for rows.Next() { var id int var name string err := rows.Scan(&id, &name) if err != nil { fmt.Println("扫描行失败:", err) return } fmt.Println("ID:", id, "Name:", name) } if err = rows.Err(); err != nil { fmt.Println("遍历结果集失败:", err) return }
上記のコードは、db.Query()
メソッドを通じてデータベース内のデータをクエリし、rows.Next を使用します。 ()
クエリ結果をループします。ループ内では、rows.Scan()
メソッドを通じて行データがスキャンされ、結果が変数に格納されます。
データの挿入
データのクエリに加えて、Go 言語は db.Exec()
メソッドを通じてデータベースにデータを挿入することもできます。データを挿入するためのサンプル コードを次に示します。
result, err := db.Exec("INSERT INTO table_name (name) VALUES (?)", "John") if err != nil { fmt.Println("插入数据失败:", err) return } affectedRows, _ := result.RowsAffected() fmt.Println("插入成功,影响的行数为:", affectedRows)
db.Exec()
メソッドを通じて SQL 挿入ステートメントを実行します。ここで、?
はパラメータ プレースホルダを表します。 「John」などの特定の値に置き換えて使用できます。
データの更新と削除
Go 言語では、db.Exec()
メソッドを使用してデータベース内のデータを更新および削除できます。データを更新するサンプル コードを次に示します。
result, err := db.Exec("UPDATE table_name SET name = ? WHERE id = ?", "Tom", 1) if err != nil { fmt.Println("更新数据失败:", err) return } affectedRows, _ := result.RowsAffected() fmt.Println("更新成功,影响的行数为:", affectedRows)
db.Exec()
メソッドを通じて SQL 更新ステートメントを実行します。ここで、?
はパラメータ プレースホルダを表します。特定の値に置き換えて使用できます。
同様に、db.Exec()
メソッドを使用して SQL 削除ステートメントを実行できます。例:
result, err := db.Exec("DELETE FROM table_name WHERE id = ?", 1)
上記のコードは table_name## を削除します。 #テーブル内のidは1データです。
以上がGo 言語入門: データベース接続の基本概念の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。