GolangでMySQLデータベースを操作するための実装コード

GolangでMySQLデータベースを操作するための実装コード

序文

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 からgo-sql-driverドライバー パッケージをダウンロードする必要があります (src ディレクトリで実行することをお勧めします)。コマンドは次のとおりです。

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 ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。

以下もご興味があるかもしれません:
  • GolangはSSHプロキシ経由でMySQLに接続する
  • Golang で MySQL データベースに接続する
  • GolangでMySqlデータベースを操作するための完全な手順
  • GolangでMySQLを操作する方法
  • GolangでMySQLデータベースのバックアップを実装する方法
  • Golang 操作はデータベースに接続して、mysql トランザクションの例を実装します。

<<:  JSタイマーを使用して要素を移動する

>>:  Linuxサーバ侵入緊急対応記録(概要)

推薦する

MySQL無料インストール版のパスワード設定に関する詳細なチュートリアル

方法1: SET PASSWORDコマンドを使用する MySQL -u ルート mysql> ...

ウェブページのメモリとCPU使用量を削減する方法

<br />Web ページによっては、サイズは大きくないように見えても開くのに非常に時間...

JavaでTomcatサーバーを起動/停止する方法

1. プロジェクト構造 2.Tomcat.javaを呼び出す パッケージ com.calltomca...

クラウドデータ移行サービスの観点から見たMySQLの大規模テーブル抽出モードの原理分析

概要: MySQL JDBC 抽出にはどのような方法を使用すればよいでしょうか? その方法を説明しま...

js を使ってシンプルな虫眼鏡効果を実現

この記事の例では、参考までに簡単な虫眼鏡効果を実現するためのjsの具体的なコードを共有しています。具...

Vue を使用して 2 つのデータ セットの違いを比較する視覚化コンポーネントの詳細な説明

目次必要:要点:これまでの要点に従って、コンポーネントのプロパティを確立できます。コンポーネントの基...

WindowsはVMwareを使用してLinux仮想マシンを作成し、CentOS7.2オペレーティングシステムをインストールします。

目次1. ウィザードに従って仮想マシンを作成します2. オペレーティングシステムをインストールします...

Linuxでホスト名を変更する方法

1. 現在のホスト名を表示する [root@fangjian ~]# ホスト名ctl 静的ホスト名:...

固定サイドバーを実現するためのJavaScript

固定サイドバーを実装するにはJavaScriptを使用します。参考までに、具体的な内容は次のとおりで...

Nginx キャッシュ設定例

Web アプリケーションの開発とデバッグを行う際には、テストのためにブラウザのキャッシュをクリアした...

js における浅いコピーと深いコピーの詳細な説明

目次1. jsメモリ2. 譲渡3. 浅いコピー4. ディープコピー序文:以下の記事を読む前に、記憶に...

Dockerを使用してLaravelおよびVueプロジェクトの開発環境を構築する詳細な説明

この記事では、Docker で構築された Laravel および Vue プロジェクトの開発環境を紹...

Docker に Elasticsearch 7.6.2 をインストールするチュートリアル

DockerをインストールするDocker をインストールする必要がありますが、それ以上の指示はあり...

Docker で Confluence をデプロイする

1. 環境要件1. Docker 17以上がインストールされている2. コンテナ操作docker r...