序文 Golang は、SQL データベースにアクセスするための database/sql パッケージを提供します。データベースを操作するためのエントリ オブジェクトとして、sql.DB は主に 2 つの重要な機能を提供します。 •sql.DB は、データベース ドライバーを通じて、基盤となるデータベース接続の開始と終了を管理する機能を提供します。 •sql.DBはデータベース接続プールを管理します sql.DB は、データベース接続オブジェクトではなく、データベースを操作するための抽象的なアクセス インターフェイスを表していることに注意してください。これにより、データベース接続を開いたり閉じたり、ドライバーに基づいて接続プールを管理したりできます。使用中の接続はビジーとしてマークされ、使用後は接続プールに戻り、次の使用を待機します。したがって、接続を接続プールに戻さないと、接続が多すぎてシステム リソースが枯渇することになります。 GolangによるMySQL操作入門 GolangでMySQLデータベースを操作する感覚は、PHPのPDOでMySQLを操作する感覚に少し似ています。もともとPHPerであれば、Golangに切り替えると非常に馴染みがあるでしょう。全体的な感覚は非常にシンプルです。 Golang による MySQL の操作に関するメモ GolangはMySQL操作用の標準ライブラリを実装していますが、MySQLドライバは実装していません。 そのため、まずは github から github.com/go-sql-driver/mysql にアクセスしてください 次のようにテストデータベースにテーブルフィールドを作成します。 存在しない場合はテーブルを作成 `test`.`user` ( `user_id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'ユーザーID', `user_name` VARCHAR(45) NOT NULL COMMENT 'ユーザー名', `user_age` TINYINT(3) UNSIGNED NOT NULL DEFAULT 0 COMMENT 'ユーザー年齢', `user_sex` TINYINT(3) UNSIGNED NOT NULL DEFAULT 0 COMMENT 'ユーザーの性別', 主キー (`user_id`)) エンジン = InnoDB AUTO_INCREMENT = 1 デフォルトの文字セット = utf8 照合 = utf8_general_ci COMMENT = 'ユーザーテーブル' データへの挿入操作の実装 パッケージメイン 輸入 ( 「fmt」 「データベース/SQL」 //mysql ドライバーをインポートします_ "github.com/go-sql-driver/mysql" ) 関数main(){ //database/sql パッケージの Open を使用してデータベース db に接続します。err := sql.Open("mysql","root:root@tcp(localhost:3306)/test?charset=utf8") err != nil の場合 { fmt.Println("データベースへの接続に失敗しました:",err) 戻る } //挿入の前処理には DB 構造インスタンス メソッド Prepare を使用します。Prepare は stmt オブジェクトを返します。stmt, err := db.Prepare("insert into `user`(user_name,user_age,user_sex)values(?,?,?)") err!=nil{の場合 fmt.Println("前処理に失敗しました:",err) 戻る } //Stmt オブジェクトを使用して前処理パラメータを実行します result,err := stmt.Exec("pengjin",33,"男") err!=nil{の場合 fmt.Println("前処理の実行に失敗しました:",err) 戻る }それ以外{ 行,_ := 結果.RowsAffected() fmt.Println("実行は成功しました、影響を受けた行数", rows,"rows") } } 上記のコードは、PHP で pdo を操作しているような感覚になります。実際、上記のコードは、Prepare メソッドを記述せずに、Stmt インスタンスの Exec メソッドを介して直接実装することもできます。 要約する 上記は、編集者が紹介したgolangでMySQLデータベースを操作するための実装コードです。皆様のお役に立てれば幸いです。ご質問がある場合は、メッセージを残してください。編集者がすぐに返信します。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。 以下もご興味があるかもしれません:
|
1. Busyboxのソースコードをオンラインでダウンロードしてください。コンパイル方法については、...
選択ステートメントの完全な構文は次のとおりです。 選択 DISTINCT <選択リスト>...
概要クラウド プラットフォームのお客様のサーバーでは、業務量が拡大し続けるとディスク容量が不足する場...
以前、純粋な CSS を使用して波の効果を実現する方法をいくつか紹介しました。それらについては、次の...
目次1. グローバルガード1. グローバル前線警備2. グローバル解像度ガード3. グローバルポスト...
1. less依存関係をインストールします: npm install less less-loade...
序文MySQL スロー クエリ ログは、日常業務でよく遭遇する機能です。MySQL スロー クエリ ...
1. MySQL 独自のストレステストツール - Mysqlslap mysqlslap は、mys...
具体的なコードは次のとおりです。 HTMLコードは次のとおりです <div class=&qu...
MySQL を長い間使用してきた多くの人は、これら 2 つのフィールド属性の概念をまだよく理解して...
ウェブサイトリンク: http://strml.net/サミュエル・リード著ヒント: 昨日、Mome...
mysql は大文字と小文字を区別しないように設定されていますウィンドウズmysqlがインストールさ...
目次1.watchは一般的なデータ(数値、文字列、ブール値)の変更を監視します。 1. 数値2. 文...
入力タイプ「file」とは何ですか?これが何なのかは説明する必要はないと思います。誰もが知っているこ...
1. クエリを最適化するには、テーブル全体のスキャンを避けてください。まず、where と orde...