現代のソフトウェア エンジニアリングでは、効率的で信頼性の高いサーバー アプリケーションを構築するために必要なスキルの需要が高まっています。その中でも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
オブジェクトを返します。 この例では、
関数を使用してすべてのレコードをクエリします。シンプルなカウンターを使用してレコード数をカウントし、データの各行をコンソールに出力します。 <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>
関数は、データを取得した後に呼び出して、*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 サイトの他の関連記事を参照してください。

gohandlesinterfacesandtypeassertionseffectivivivivivity、強化された柔軟性と耐毒性を強化します

言語エラー処理は、エラーとエラーを介してより柔軟になり、読みやすくなります。 1.エラーは、エラーが指定されたエラーと同じであり、エラーチェーンの処理に適しているかどうかを確認するために使用されます。 2.エラー。エラータイプを確認するだけでなく、エラーを特定のタイプに変換することもできます。これは、エラー情報を抽出するのに便利です。これらの関数を使用すると、エラー処理ロジックを簡素化できますが、エラーチェーンの正しい配信に注意を払い、コードの複雑さを防ぐために過度の依存性を回避できます。

tomakegogoapplicationsRunfasterAndMore -efficient、useprofilingtools、leverageconconcurrency、andmanagememoryefcectively.1)useprofforcpuandmemoryprofilingtoidentififybottlenecks.2)

go'sfutureisbrightwithtrendslikeRikeRovedTooling、generics、cloud-nativeadoption、performulenhancements、andwebassemblyintegration、butchallengesincludemaintainingsimplicitandimplovingeror handling。

GoroutinesAreSareSareSareSormethodSthaturncurlyntingo、Enableing and LightweightConcurrency.1)theyRuntimeSimeSingMultiplexing、SountyStorunonFeweroSthReads.2)ゴルチンズを失ったことを許可します

initistoistoInitializevariables、setupconutupurations、orforformndexedarysetupbe foreThemainfunctionexecutes.useinitby:1)inginginyourcodeTorunautorunaintalunain、2)KeepingItshortandpocusedonsimpletasks、3)ConsididiriveSusinginsingingingingingingingingingingingingingingingingingingingingingingsingpltassksを使用すると、

go interfacesaremethodsignaturesetsetsattypesmustimplement、unableingpolymorphism withintinheritance forcleaner、modularcode.theyareimplictilistifisisfiestified、houseforfflexibleapisanddeaupling、busrecarefulusoavoidoidoimoidimeerrororsypertety。

Goで回復()関数を使用して、パニックから回復します。特定の方法は次のとおりです。1)回復()を使用して、延期関数でパニックをキャプチャして、プログラムのクラッシュを避けます。 2)デバッグの詳細なエラー情報を記録します。 3)特定の状況に基づいてプログラムの実行を再開するかどうかを決定します。 4)パフォーマンスに影響を及ぼさないように注意して使用します。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

Safe Exam Browser
Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

ホットトピック









