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選

推薦する

SSL を実装するために nginx を設定する方法の例

環境説明サーバーシステム: Ubuntu 18.04 64ビットnginx: 1.14この記事では主...

Tomcat マルチレイヤーコンテナの設計に関する簡単な説明

目次コンテナ階層サーブレットの検索を要求するプロセス仕組みTomcat のコンテナは Servlet...

JavaScript parseInt() と Number() の違いのケーススタディ

学習目標: parseInt() と Number() という 2 つの関数は、文字列をデータ型に変...

CSS で要素フローティングとクリアフローティングを実装する方法

フローティングの基礎標準ドキュメント フローでは、要素は塊級元素と行內元素の 2 種類に分けられます...

Vueの監視プロパティの詳細

目次1.watchは一般的なデータ(数値、文字列、ブール値)の変更を監視します。 1. 数値2. 文...

JavaScript 配列メソッドの詳細な例

目次導入配列の作成作成方法詳しい説明方法参加する() push() と pop() shift() ...

Reactで例外を適切にキャプチャする方法

目次序文エラー境界エラー境界を超えてトライ/キャッチwindow.onerror、エラーイベント未処...

MySQLデュアルマスター(マスターマスター)アーキテクチャ構成ソリューション

企業では、データベースの高可用性は常に最優先事項です。多くの中小企業は、MySQL マスター スレー...

MySQL のロングトランザクション例の詳細な説明

序文: 「MySQL 入門」シリーズの記事は終了しました。今後も引き続き MySQL に焦点を当て、...

MySQL 時間差関数 (TIMESTAMPDIFF、DATEDIFF)、日付変換計算関数 (date_add、day、date_format、str_to_date)

1. 時間差関数(TIMESTAMPDIFF、DATEDIFF) MySQLを使用して時間差を計算...

TypeScript 開発のための 6 つの実用的なヒント

目次1. 開発前にエンティティの種類を決定する2. インターフェースをリクエストするときは、使用する...

ReactJs 基礎チュートリアル - 基本編

目次1. ReactJS の紹介2. ReactJSの理解とReactJSの利点1. ReactJS...

MySQL データ定義言語 DDL の基本ステートメント

MySQL DDL ステートメントDDL、DMLとは何ですか。 DDL はデータ定義言語であり、CR...

Dockerがコンテナを起動するたびに、IPとホストが指定した操作が実行されます。

序文Dockerを使ってHadoopクラスタを起動するたびに、ネットワークカードの再バインド、IPの...