golangでmysqlデータを操作する方法
現代のソフトウェア エンジニアリングでは、効率的で信頼性の高いサーバー アプリケーションを構築するために必要なスキルの需要が高まっています。その中でもGo言語を使ってリレーショナルデータベースを呼び出すことは必須の基礎となります。この記事では、Go 言語の標準パッケージを使用して、MySQL データのクエリと挿入を行います。
MySQL とは
#MySQL は、Oracle Corporation の支援のもとに開発された、インターネット インフラストラクチャで広く使用されているリレーショナル データベース管理システムです。複数のオペレーティング システムと Go 言語を含むプログラミング言語をサポートし、大規模なデータ統合と高パフォーマンスのクエリをサポートする一連の機能を備えています。 MySQL のデータはテーブルに基づいており、データの 1 行が 1 レコードに対応し、データの 1 列が 1 フィールドに対応します。 SQL 言語を使用してデータを操作します。最も一般的な SQL 操作には、SELECT、INSERT、UPDATE、DELETE、CREATE TABLE があります。Go 言語の MySQL ドライバー
Go 言語では、サードパーティの MySQL ドライバーを使用して MySQL データベースに接続し、クエリを実行できます。ただし、GO 言語の標準ライブラリにはすでにdatabase/sql パッケージが含まれており、このパッケージには標準 SQL データベース インターフェイスが実装されており、MySQL、PostgreSQL、SQLite などの他の便利で一般的な SQL データベースと対話できます。
go get -u github.com/go-sql-driver/mysql を使用できます。
SQL.DB 接続を通じて行われる必要があるためです。ドライバーの目的は、
database/sql の関数にインターフェイス規約を実装することです。
接続の確立
Go 言語では、MySQL データベースへの接続の確立は接続文字列に基づいて行われます。接続文字列には、接続に必要なすべてのパラメータが含まれていますユーザー名、パスワード、ホスト名または IP アドレス、ポート番号、データベース名など。db, err := sql.Open("mysql", "user:password@tcp(127.0.0.1:3306)/dbname") if err != nil { log.Fatal(err) }
クエリ データ
Go 言語では、db.Query()、
db.QueryRow()## を使用できます。 #anddb.Exec()
関数は、MySQL データベース内のデータをクエリおよび操作します。
この関数は複数のレコードをクエリするために使用され、*sql.Rows
オブジェクトを返します。 db.QueryRow()
この関数は、単一レコードをクエリするために使用され、resultset
と同様の *sql.Row
オブジェクトを返しますが、返されるのはレコードの最初の行。通常、単一の一意のレコードをクエリするために使用されます。 db.Exec()
この関数は、INSERT、UPDATE、DELETE などの非クエリ SQL ステートメントを実行するために使用され、sql.Result
オブジェクトを返します。 この例では、
関数を使用してすべてのレコードをクエリします。シンプルなカウンターを使用してレコード数をカウントし、データの各行をコンソールに出力します。 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">rows, err := db.Query("SELECT id, name FROM users")
if err != nil {
log.Fatal(err)
}
defer rows.Close()
count := 0
for rows.Next() {
var id int
var name string
if err := rows.Scan(&id, &name); err != nil {
log.Fatal(err)
}
fmt.Printf("id=%d, name=%s\n", id, name)
count++
}
if err := rows.Err(); err != nil {
log.Fatal(err)
}
fmt.Printf("Found %d users\n", count)</pre><div class="contentsignin">ログイン後にコピー</div></div>
関数は、データを取得した後に呼び出して、*sql.Rows
に関連付けられたデータベース リソースを解放する必要があります。同時に、コード内では rows.Next()
関数が使用されており、処理できる行がまだあるかどうかを示すブール値を返します。さらに、この例では rows.Scan()
関数を使用して、各行レコードの値を、この例で定義されている id
変数と name
変数にコピーします。たとえば、 、各値をコンソールに出力します。
Go 言語を使用して MySQL データベースにデータを挿入することもできます。最も簡単な方法は、
db.Exec()# を使用することです。 ## 関数 。 insert ステートメントをdb.Exec() 関数に渡すと、MySQL で SQL ステートメントとして実行されます。
result, err := db.Exec("INSERT INTO users(name, email) VALUES('John Doe', 'johndoe@gmail.com')") if err != nil { log.Fatal(err) } rowsAffected, err := result.RowsAffected() if err != nil { log.Fatal(err) } fmt.Printf("Inserted %d rows into users table\n", rowsAffected)
result.RowsAffected() を使用して結果セット内の影響を受ける行の数を取得し、この値を使用して更新されたデータの数をコンソールに出力できます。 まとめ
この記事では、Go 言語を使用した MySQL データベースの基本的なクエリ操作を紹介しました。標準ライブラリ database/sql
とサードパーティの MySQL ドライバーを使用して接続を確立し、データをクエリする方法を学習しました。また、db.Exec() 関数を使用して MySQL データベースにデータを挿入する方法も学びました。これらの概念は、Go で効率的で信頼性の高いサーバー アプリケーションを構築する上で重要な部分であり、最新のソフトウェア エンジニアリングにおいて不可欠なスキルです。
以上がgolangでmysqlデータを操作する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









データベースとプログラミングにおけるMySQLの位置は非常に重要です。これは、さまざまなアプリケーションシナリオで広く使用されているオープンソースのリレーショナルデータベース管理システムです。 1)MySQLは、効率的なデータストレージ、組織、および検索機能を提供し、Web、モバイル、およびエンタープライズレベルのシステムをサポートします。 2)クライアントサーバーアーキテクチャを使用し、複数のストレージエンジンとインデックスの最適化をサポートします。 3)基本的な使用には、テーブルの作成とデータの挿入が含まれ、高度な使用法にはマルチテーブル結合と複雑なクエリが含まれます。 4)SQL構文エラーやパフォーマンスの問題などのよくある質問は、説明コマンドとスロークエリログを介してデバッグできます。 5)パフォーマンス最適化方法には、インデックスの合理的な使用、最適化されたクエリ、およびキャッシュの使用が含まれます。ベストプラクティスには、トランザクションと準備された星の使用が含まれます

Apacheはデータベースに接続するには、次の手順が必要です。データベースドライバーをインストールします。 web.xmlファイルを構成して、接続プールを作成します。 JDBCデータソースを作成し、接続設定を指定します。 JDBC APIを使用して、接続の取得、ステートメントの作成、バインディングパラメーター、クエリまたは更新の実行、結果の処理など、Javaコードのデータベースにアクセスします。

DockerでMySQLを起動するプロセスは、次の手順で構成されています。MySQLイメージをプルしてコンテナを作成および起動し、ルートユーザーパスワードを設定し、ポート検証接続をマップしてデータベースを作成し、ユーザーはすべての権限をデータベースに付与します。

CentOSにMySQLをインストールするには、次の手順が含まれます。適切なMySQL Yumソースの追加。 yumを実行して、mysql-serverコマンドをインストールして、mysqlサーバーをインストールします。ルートユーザーパスワードの設定など、MySQL_SECURE_INSTALLATIONコマンドを使用して、セキュリティ設定を作成します。必要に応じてMySQL構成ファイルをカスタマイズします。 MySQLパラメーターを調整し、パフォーマンスのためにデータベースを最適化します。

MySQLをエレガントにインストールするための鍵は、公式のMySQLリポジトリを追加することです。特定の手順は次のとおりです。MYSQLの公式GPGキーをダウンロードして、フィッシング攻撃を防ぎます。 mysqlリポジトリファイルを追加:rpm -uvh https://dev.mysql.com/get/mysql80-community-rease-el7-3.noarch.rpm update yumリポジトリキャッシュ:yumアップデートインストールmysql:yumインストールmysql-server startup mysql sportin

WebアプリケーションにおけるMySQLの主な役割は、データを保存および管理することです。 1.MYSQLは、ユーザー情報、製品カタログ、トランザクションレコード、その他のデータを効率的に処理します。 2。SQLクエリを介して、開発者はデータベースから情報を抽出して動的なコンテンツを生成できます。 3.MYSQLは、クライアントサーバーモデルに基づいて機能し、許容可能なクエリ速度を確保します。

Cは、ハードウェアリソースと高性能の最適化が必要なシナリオにより適していますが、Golangは迅速な開発と高い並行性処理が必要なシナリオにより適しています。 1.Cの利点は、ハードウェア特性と高い最適化機能に近いものにあります。これは、ゲーム開発などの高性能ニーズに適しています。 2.Golangの利点は、その簡潔な構文と自然な並行性サポートにあり、これは高い並行性サービス開発に適しています。

GolangとCにはそれぞれパフォーマンス競争において独自の利点があります。1)Golangは、高い並行性と迅速な発展に適しており、2)Cはより高いパフォーマンスと微細な制御を提供します。選択は、プロジェクトの要件とチームテクノロジースタックに基づいている必要があります。
