序文 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: SET PASSWORDコマンドを使用する MySQL -u ルート mysql> ...
<br />Web ページによっては、サイズは大きくないように見えても開くのに非常に時間...
1. プロジェクト構造 2.Tomcat.javaを呼び出す パッケージ com.calltomca...
概要: MySQL JDBC 抽出にはどのような方法を使用すればよいでしょうか? その方法を説明しま...
この記事の例では、参考までに簡単な虫眼鏡効果を実現するためのjsの具体的なコードを共有しています。具...
今日、PHP を学習する場合、当然ながら、まず実行環境をインストールする必要があります。Phpstu...
目次必要:要点:これまでの要点に従って、コンポーネントのプロパティを確立できます。コンポーネントの基...
目次1. ウィザードに従って仮想マシンを作成します2. オペレーティングシステムをインストールします...
1. 現在のホスト名を表示する [root@fangjian ~]# ホスト名ctl 静的ホスト名:...
固定サイドバーを実装するにはJavaScriptを使用します。参考までに、具体的な内容は次のとおりで...
Web アプリケーションの開発とデバッグを行う際には、テストのためにブラウザのキャッシュをクリアした...
目次1. jsメモリ2. 譲渡3. 浅いコピー4. ディープコピー序文:以下の記事を読む前に、記憶に...
この記事では、Docker で構築された Laravel および Vue プロジェクトの開発環境を紹...
DockerをインストールするDocker をインストールする必要がありますが、それ以上の指示はあり...
1. 環境要件1. Docker 17以上がインストールされている2. コンテナ操作docker r...