ORM を使用して MySQL にデータを追加する手順

ORM を使用して MySQL にデータを追加する手順

【序文】

ORM を使用してデータベース内のデータを操作する場合、前提として、新しい ORM モデル、つまり、以前に構築したモデルを作成しておく必要があります。https://www.jb51.net/article/218036.htm

[ORM操作手順]

  • ORMモデルオブジェクトの構築
  • セッションに追加
  • データベースに送信
  • 例外が発生した場合は、トランザクションをロールバックします(オプション)

【ORMモデルオブジェクトの構築】

user_obj = ユーザー(
ユーザー名="use1",
パスワード="123456",
real_name = "ユーザー1",
年齢=12
)

【セッションに追加】

# オブジェクトを追加する session.add(user_obj)

# 複数のオブジェクトを追加する session.add_all([user1,user2,user3])

【セッションの役割】

  • データベースとのセッションを確立する
  • セッションを使用してデータベース内のデータを追加、削除、変更、およびクエリする
  • トランザクション制御(コミットとロールバック)にセッションを使用する
  • session.close()を使用した後は閉じる必要があります。

[セッションの作成]

2つの方法があります。次のコード例

# 方法1: セッションをインスタンス化する
sqlalchemy.ormからセッションをインポート

Session(engine)をセッションとして使用:
    セッション.add(ユーザー())
    セッションコミット()

# 方法 2: ファクトリー関数を作成する from sqlalchemy.orm import sessionmaker

セッション = sessionmaker(エンジン)

Session.begin() をセッションとして使用:
    セッション.add(ユーザー())

[データベースにデータを送信]

Session(engine)をセッションとして使用:
    セッションを追加します(user_obj)
    セッション.add_all([ユーザー1,ユーザー1,ユーザー1])
    セッションコミット()

[例外が発生しました。トランザクションをロールバックします]

Session(engine)をセッションとして使用:
    セッションの開始()
    試す:
        セッション.add(ユーザー1)
        セッション.add(ユーザー2)
    を除外する:
        セッション.ロールバック()
        上げる
    それ以外:
        セッションコミット()

[セッションオブジェクトのその他の共通メソッド]

1. execute(statement, params=None,*args) はSQLクエリを実行します。

2. delete(instance)は物理的にデータを削除します

3. get(entity,idnet,*args) は、主キー/None に従って条件を満たす ORM オブジェクトを返します。

4. クエリ(*entities,**kwargs)

ORMクエリを使用してクエリオブジェクトを返す

ORM を使用して MySQL にデータを追加する方法については、これで終わりです。ORM MySQL データベースに関するより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • ORM モデル フレームワークを使用して MySQL データベースを操作する方法
  • gorm で MySql データベースを操作する方法
  • .net core で orm を使用して MySQL データベースを操作する方法
  • PHPはORMに基づいてMySQLデータベースインスタンスを操作する
  • mysql データベース内の information_schema と mysql を削除できますか?
  • MySQLのinformation_schemaデータベースの解析

<<:  インラインブロックを使用した複数のdiv間の間隔はプログラミング方法とは異なります

>>:  優れたWebフォームデザイン事例20選

推薦する

ページコンテンツ全体を中央に配置して、高さがコンテンツに合わせて自動的に拡張されるようにする方法

ページコンテンツ全体を中央に配置する方法と、コンテンツに合わせて高さを自動的に拡大縮小する方法。これ...

Linux環境でOpenSSL証明書を生成する

1. 環境: CentOS7、OpenSSL1.1.1k。 2. コンセプト:ルート証明書: サーバ...

MySQLアカウントのIP制限条件を変更する方法

序文最近、仕事で、MySQL ユーザーの権限を変更するには、特定の IP アドレスへのアクセスを制限...

mysql における mydumper と mysqldump の比較

いくつかのテーブルまたは単一のデータベースのみをバックアップする場合は、innobackup よりも...

Vueリストレンダリングキーの原理と機能の詳細な説明

目次リストレンダリングキーの原理と機能主要原則の分析キーの役割要約するリストレンダリングキーの原理と...

Node.js組み込みモジュールの詳細な説明

目次概要1. パスモジュール2. モジュールまで3. fsモジュール4. イベントモジュール5. h...

Docker デプロイメント RabbitMQ コンテナ実装プロセス分析

1. イメージをプルするまず、次のコマンドを実行して、イメージをローカル コンピューターにダウンロー...

MySQL のフィールドにデフォルトの時間を追加する方法

日付型の違いと用途MySQL には、日付、時刻、年、日付時刻、タイムスタンプの 5 つの日付タイプが...

vue構成ファイルはルーティングとメニューインスタンスコードを自動的に生成します

目次前面に書かれたルータ.jsonルート生成メニュー生成効果要約する前面に書かれたルートを繰り返し記...

mysql5.7.17 zip の解凍とインストールの詳細な手順

1. ダウンロードアドレスhttps://dev.mysql.com/downloads/mysql...

クリックして展開し、全文を読む機能を実現する純粋なCSS

注記記事表示リストインターフェースを開発する場合、情報の基本的な概要を提供するために記事ヘッダーコン...

Node.js でのブレークポイント再開の実装

序文通常のビジネスニーズ: 写真、Excel などをアップロードします。結局のところ、数 MB のサ...

Win 8 以降での最新の MySQL バージョン 5.7.17 (64 ビット ZIP グリーン バージョン) のインストールと展開のチュートリアル

まず、ブロガーはコミュニティ バージョンをプレイしていますが、学習とテストにはこれで十分です。 Bl...

nginx+WordPressで個人ブログを構築するプロセス全体の詳細な説明

0x00 はじめにWordPress は、世界で最も人気のある CMS システムです。PHP と M...

HTML ページでギリシャ文字を使用する方法

ギリシャ文字は、特に数学や物理学などの科学技術分野で非常によく使用される記号列であり、特定の意味を持...