インターネットの普及に伴い、独自のオンライン ビジネスを始める中小企業が増えています。これらのビジネスに関係するデータの量は通常、それほど多くありませんが、中小企業にとって、データの保存と処理は依然として非常に重要な問題です。 MySQL データベースは、データの保存と処理に現在使用されている最も人気のあるデータベースの 1 つであり、多くの中小企業にとって最初の選択肢でもあります。この記事では、Go 言語を使用して MySQL データベースを迅速に開発および管理する方法を紹介します。
MySQL を使用する前に、まず MySQL をインストールする必要があります。 MySQL 公式 Web サイトでデバイスに適したバージョンを見つけ、必要に応じてダウンロードしてインストールできます。インストールが完了したら、MySQL root ユーザーのパスワードの設定、新しいユーザーの作成、権限の割り当てなど、いくつかの基本的な構成が必要です。
Go 言語は、インターネット アプリケーションの開発で広く使用されている比較的新しいプログラミング言語です。公式 Web サイトから Go 言語インストール パッケージをダウンロードしたら、プロンプトに従ってインストールするだけです。インストールが完了したら、環境変数と Go 言語の GOPATH パスを設定する必要があります。
Go 言語では、MySQL データベースに接続して操作するためにサードパーティのライブラリを使用する必要があります。現在人気のあるライブラリには、go-sql-driver/mysql および jmoiron/sqlx があります。これらのライブラリをインストールするには、Go 言語に付属のパッケージ管理ツール go get を使用できます。
go-sql-driver/mysql をインストールします:
go get -u github.com/go-sql-driver/mysql
jmoiron/sqlx をインストールします:
go get -u github.com/jmoiron/sqlx
Connect MySQL データベースでは、データベース接続情報と認証情報を指定する必要があります。 Go 言語を使用して MySQL データベースに接続するには、Database/sql ライブラリと go-sql-driver/mysql ライブラリが必要です。 MySQL データベースに接続する場合は次の点に注意してください:
import ( "database/sql" _ "github.com/go-sql-driver/mysql" ) func main() { db, err := sql.Open("mysql", "root:123456@tcp(127.0.0.1:3306)/test?charset=utf8") if err != nil { log.Fatalln(err) } defer db.Close() // 测试连接 if err := db.Ping(); err != nil { log.Fatalln(err) } // 进行操作 // ... }
上記のコードは、MySQL データベースへの接続と最も基本的なテスト接続を実装しています。
MySQL データベースに接続した後、クエリ、挿入、更新などの一般的なデータベース操作を実行できます。
MySQL データベースでは、トランザクションは一連の SQL ステートメントであり、操作単位として定義されます。または複数のステートメントがまとめて実行されます。 Go 言語では、Begin、Commit、Rollback 関数を使用してトランザクションを実装できます。
func transactionTx() error { tx, err := db.Begin() if err != nil { return err } defer func() { if p := recover(); p != nil { tx.Rollback() // 捕获错误回滚 } }() stmt, err := tx.Prepare("INSERT INTO users(name, age) VALUES(?, ?)") if err != nil { return err } defer stmt.Close() _, err = stmt.Exec("user1", 20) if err != nil { return err } _, err = stmt.Exec("user2", 21) if err != nil { return err } err = tx.Commit() if err != nil { return err } return nil }
Go 言語の SQL ステートメントでは、次を使用します。 「?」は特定のパラメータ値を置き換えるためのものですが、一部の複雑な SQL ステートメントを実行する場合には不便な場合があります。したがって、sqlx ライブラリを使用して MySQL を実行することで、データベースをより直感的かつ柔軟に操作できます。
sqlx は SQL ステートメントを手動で準備する必要がなく、構造体と構造フィールドを使用して SQL ステートメントとバインドされたパラメーターを記述します。例:
type User struct { ID int64 `db:"id"` Name string `db:"name"` Age int `db:"age"` } user := &User{Name: "Alice", Age: 25} tx := db.MustBegin() tx.NamedExec("INSERT INTO users (name, age) VALUES (:name, :age)", user) tx.Commit()
上記のコードは、sqlx の NamedExec 関数を使用して MySQL を操作します。ここで、「:name」と「:age」はバインドされたパラメーターの名前であり、user は構造体で表されるパラメーターです。 。
ORM (オブジェクト リレーショナル マッピング) フレームワークは、データベースの操作と管理をより便利にし、手動で記述する作業を軽減するのに役立ちます。 SQL ステートメント。 Go 言語で最も人気のある ORM フレームワークは GORM です。
GORM を使用して MySQL を操作するのは非常に簡単です。ここではユーザー テーブルの作成例を示します。コードは次のとおりです:
import ( "github.com/jinzhu/gorm" _ "github.com/jinzhu/gorm/dialects/mysql" ) type User struct { gorm.Model Name string Age int } func main() { db, err := gorm.Open("mysql", "root:123456@/test?charset=utf8&parseTime=True&loc=Local") if err != nil { panic(err) } defer db.Close() db.AutoMigrate(&User{}) // 自动创建user表 // 添加新用户 db.Create(&User{Name: "Alice", Age: 25}) // 查询用户信息 var user User db.Where("name = ?", "Alice").First(&user) fmt.Println(user) }
表現する User 構造体を定義するだけです。データベース内のユーザー テーブル。データベース テーブルの自動作成、新しいユーザーの追加、ユーザー情報のクエリなどの操作をコードに実装できます。
概要
この記事では、Go 言語を使用して MySQL データベースを効率的に開発および管理する方法を紹介します。まず、MySQL データベース、Go 言語、および関連ライブラリをインストールする必要があります。次に、MySQL に接続して基本的なデータベース操作を実行します。最後に、MySQL 開発用の sqlx および ORM フレームワークを使用する具体的な操作を紹介します。この記事が、MySQL 開発に Go 言語を使用したいと考えている学生に役立つことを願っています。
以上が中小企業向け MySQL データベース: Go 言語による迅速な開発の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。