Go言語でデータベース操作を実装する方法

Go言語では、データベース操作を行うためにdatabase/sqlパッケージを利用できます。データベースへの接続、データの挿入、検索、更新を行う簡単なサンプルコードを以下に示します。

首先,需要导入database/sql和相应的数据库驱动包:

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

次に、sql.Open() 関数を使用してデータベースに接続し、データベースのドライバーと接続文字列を指定します。

db, err := sql.Open("mysql", "user:password@tcp(localhost:3306)/database_name")
if err != nil {
log.Fatal(err)
}
defer db.Close()

データベースに接続後、db.Exec() 関数を使用して、次のように SQL ステートメントを実行できます: INSERT INTO table (name, age) VALUES (‘John’, 30);

result, err := db.Exec("INSERT INTO table_name (column1, column2) VALUES (?, ?)", value1, value2)
if err != nil {
log.Fatal(err)
}

クエリストートメントを実行するには、db.Query() 関数を使用し、結果を格納する変数には Scan() 関数を使用します。

rows, err := db.Query("SELECT column1, column2 FROM table_name WHERE condition")
if err != nil {
log.Fatal(err)
}
defer rows.Close()
for rows.Next() {
var column1 string
var column2 int
err := rows.Scan(&column1, &column2)
if err != nil {
log.Fatal(err)
}
// 处理查询结果
}

更新ステートメントを実行するには db.Exec() 関数を使用できます。

result, err := db.Exec("UPDATE table_name SET column1 = ? WHERE condition", value)
if err != nil {
log.Fatal(err)
}

これは簡単な例ですが、特定のニーズに合わせてさらに調整したり最適化したりすることができます。また、ORMライブラリ(GORM、XORMなど)を使用して、データベース操作のプロセスを簡素化することもできます。

bannerAds