インターネットの急速な発展に伴い、大量のデータの保存と処理が避けられない傾向になりました。オープンソースで使いやすいデータベース システムであるリレーショナル データベース MySQL は、アプリケーション データの保存によく使用されます。この記事では、Go 言語を使用して MySQL と対話し、データを保存およびクエリする方法を紹介します。
環境セットアップ
まず、Go 言語と MySQL データベースをインストールする必要があります。次のコマンドを使用してインストールできます:
go get -u github.com/go-sql-driver/mysql
データベース接続
MySQL を使用する前に、MySQL サービスがインストールされ、開始されていることを確認する必要があります。接続するコマンド:
db, err := sql.Open("mysql", "username:password@tcp(host:port)/dbname")
このうち、username
と password
はそれぞれデータベース (host
と ) のユーザー名とパスワードです。 port
はそれぞれ MySQL サーバーの IP アドレスとポート、number、dbname
は接続するデータベースの名前です。
データベース操作
次に、データベースに対して 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)
完全な例
以下は、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 } }
以上がGo 言語の練習: MySQL を使用してデータを保存するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。