ホームページ  >  記事  >  バックエンド開発  >  Go 言語でデータベース関数を学習し、SQLite データの追加、削除、変更、クエリ操作を実装します。

Go 言語でデータベース関数を学習し、SQLite データの追加、削除、変更、クエリ操作を実装します。

WBOY
WBOYオリジナル
2023-08-01 09:13:131290ブラウズ

Go 言語でデータベース関数を学習し、SQLite データの追加、削除、変更、およびクエリ操作を実装します

Go 言語は、データにおいて大きな利点を備えた、シンプルで効率的で同時実行性の高いプログラミング言語です。処理。データの保存と処理の主な方法の 1 つであるデータベースは、開発者がデータベースの操作を理解し習得するために不可欠です。この記事では、Go 言語のデータベース関数を学習し、SQLite データベースを使用してデータの追加、削除、変更、クエリ操作を実装します。

まず、Go 言語によって提供されるデータベース ドライバーと sqlite3 パッケージをインポートする必要があります。次のコードをコードに追加します。

import (
    "database/sql"
    _ "github.com/mattn/go-sqlite3"
)

このコードでは、SQLite データベースのドライバーとして go-sqlite3 パッケージを使用します。

次に、データベース接続を作成する必要があります。 sql.Open() 関数を使用してデータベース接続を作成します。コードは次のとおりです:

db, err := sql.Open("sqlite3", "./test.db")
if err != nil {
    log.Fatal(err)
}
defer db.Close()

このコードでは、test.db という名前の SQLite データベースを開き、接続を変数 db に割り当てます。さらに、defer キーワードを使用して、プログラムの終了後にデータベース接続が確実に閉じられるようにします。

これで、SQLite データベースに接続し、追加、削除、変更、クエリ操作を実行できるようになりました。

まず、データ挿入操作を実装しましょう。 Exec() 関数を使用して INSERT ステートメントを実行できます。コードは次のとおりです:

stmt, err := db.Prepare("INSERT INTO user(name, age) values(?, ?)")
if err != nil {
    log.Fatal(err)
}

_, err = stmt.Exec("Alice", 28)
if err != nil {
    log.Fatal(err)
}

stmt.Close()

このコードでは、まず Prepare() 関数を使用して実行する SQL ステートメントを準備し、次にこの SQL ステートメントを実行するには、Exec() 関数を使用します。実行後、実行結果と考えられるエラー メッセージが表示されます。

次に、データ クエリ操作を実装しましょう。 Query() 関数を使用してデータベースにクエリを実行できます。コードは次のとおりです:

rows, err := db.Query("SELECT * FROM user")
if err != nil {
    log.Fatal(err)
}
defer rows.Close()

for rows.Next() {
    var name string
    var age int
    err = rows.Scan(&name, &age)
    if err != nil {
        log.Fatal(err)
    }
    fmt.Println(name, age)
}

err = rows.Err()
if err != nil {
    log.Fatal(err)
}

このコードでは、まず Query() 関数を使用してデータベースにクエリを実行し、クエリ結果を変数に割り当てます。行。次に、 rows.Next() 関数と rows.Scan() 関数を使用してクエリ結果を行ごとに読み取り、データを対応する変数に書き込みます。読み取りが完了したら、rows.Err() 関数を使用してエラーが発生したかどうかを確認します。

次に、データの変更と削除の操作を実装しましょう。 Exec() 関数を使用して UPDATE ステートメントと DELETE ステートメントを実行できます。コードは次のとおりです:

stmt, err = db.Prepare("UPDATE user SET age=? WHERE name=?")
if err != nil {
    log.Fatal(err)
}

_, err = stmt.Exec(30, "Alice")
if err != nil {
    log.Fatal(err)
}

stmt.Close()

stmt, err = db.Prepare("DELETE FROM user WHERE age=?")
if err != nil {
    log.Fatal(err)
}

_, err = stmt.Exec(30)
if err != nil {
    log.Fatal(err)
}

stmt.Close()

このコードでは、まず Prepare() 関数を使用して SQL ステートメントの実行を準備し、次に次に、Exec() 関数を使用して SQL ステートメントを実行します。 UPDATE ステートメントと DELETE ステートメントを実行するときに、疑問符プレースホルダーを使用してパラメーターの値を設定できます。

これまで、Go 言語でデータベース関数を学習し、SQLite データベースのデータの追加、削除、変更、クエリ操作を実装してきました。実際の開発では、特定のニーズに応じてコードをさらに最適化し、考えられる例外を処理できます。この記事が Go 言語でデータベース操作を学習する際の参考になれば幸いです。

以上がGo 言語でデータベース関数を学習し、SQLite データの追加、削除、変更、クエリ操作を実装します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。