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選

推薦する

HTML でマウスが停止したときに行全体の色 (tr) を変更する方法

純粋な CSS を使用して、マウスが行の上を通過するときに行の背景色を変更し、その行にフォーカスがあ...

Windows 10 無料インストール版の MySQL インストールと設定のチュートリアル

ネットでいろいろ検索してみたところ、Linux システム向けではなく、現在の新しいバージョンと一致し...

MySQL でテーブル メタデータ ロックを待機する理由と方法

MySQL が alter table などの DDL 操作を実行すると、テーブル メタデータ ロッ...

Vue+elementを使用してページ上部のタグを実装する方法の詳細な説明

目次1. ページレンダリング2. タグを切り替える3. タグを削除するこのようなタグはどのように記述...

Vue は左右のスライド効果のサンプルコードを実装します

序文個人の実際の開発で使用した効果問題を、今後の開発やレビューに役立てるためにまとめています。他の人...

Windows 10 Home EditionにDockerをインストールする方法を教えます

Redisの本やSpring Cloud Alibabaの本を執筆した際に、一部の分散コンポーネント...

Win10でのJDKのインストールと環境変数の設定に関する詳細なチュートリアル

目次序文1. 準備2. インストール3. 環境変数を設定する1. 「新規」をクリックすると、ポップア...

画像を使用してハイパーリンクのパーソナライズされた下線を実現します

画像内に下線付きのリンクが表示されても驚かないでください。実はとても簡単なので、あなたにもできるので...

初心者向けMySQLシリーズチュートリアル

目次1. 基本概念と基本コマンド1) 基本的な概念2) 基本コマンド2. SQL文の記述順序と実行順...

DockerにJava環境をインストールするための実装手順

この記事は Linux centos8 をベースにして、docker をインストールし、イメージをプ...

Hyper-V なしで Windows 10 を動作させるソリューション

Windows10 Home Edition でHyper-vを有効にする方法をまだ探していますか?...

WeChatミニプログラム抽選コンポーネントの使い方

WeChatコンポーネントの形式で提供されます。コンポーネント内部ではasync/awaitが使用さ...

HTML チュートリアル: 画像のサイズ、配置、間隔、境界線の属性を変更する方法

画像タグ: <img> ページに画像を挿入するには、「src」属性を持つ「img」タグを...

Vue でのスロット配置と使用状況分析

このチュートリアルの動作環境: Windows 7 システム、vue 2.9.6 バージョン、DEL...

XHTML 入門チュートリアル: XHTML とは何ですか?

HTMLとは何ですか?簡単に言えば、HTML は Web ページを作成するために使用されます。とて...