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選

推薦する

さまざまなマウスの形状を表現する方法

<a href = "http://" style = "cur...

MySQL 8.0.13 解凍版のインストールと設定方法のグラフィックチュートリアル

1. インストール1. MySQLをダウンロードするダウンロードアドレス: リンクアドレスブラウザで...

HTML の表の行と列を結合する問題の解決策の詳細な説明

私たちが構築しようとしていたウェブサイトには、長い文章だけでなく、多数の表も含まれており、表のレイア...

モバイルウェブページのサイズ調整を実装する方法

ようやく手元のプロジェクトが終了し、行方不明だった人たちが戻ってきました!プロジェクトを進める過程で...

Dockerコンテナレイヤーの概念の詳細な説明

目次01 コンテナの一貫性02 レイヤーの概念03 レイヤードデザインの利点今日はコンテナ レイヤー...

水平スクロールバーを実装する2つの方法の例

序文:プロジェクトの開発中に、1 行にナビゲーション バーが多すぎる場合に水平スクロール バーを実装...

MySql への新しいユーザーの追加、ユーザー用のデータベースの作成、ユーザーへの権限の割り当ての概要

1. 新しいユーザーを追加するローカルIPアクセスのみを許可する '123456' ...

Linux での MySQL のインストールに関する詳細なチュートリアル

1. MySQLサービスをシャットダウンする# service mysqld stop 2. rpm...

Centos8 に nginx をインストールするための詳細なチュートリアル (画像とテキスト)

Nginx (「エンジン エックス」と発音) は、インターネット上の最大規模のサイトの負荷を処理す...

Nginx のタイムドログカットの詳細な説明

序文デフォルトでは、Nginx ログはファイルに書き込まれます。各ドメインのログを区別するために、通...

Vueはブラウザ側のコードスキャン機能を実装します

背景少し前にブラウザカメラの取得とスキャンコード認識の機能を作りました。その際の知識ポイントと具体的...

要素内の TimePicker は時間の一部を無効にします (分単位で無効)

プロジェクトの要件は、日付と時刻を選択し、現在の時刻以降の時刻のみを選択し、最小レベルを分単位で無効...

MySQL 5.6 ルートパスワード変更チュートリアル

1. MySQL 5.6をインストールした後、正常に有効化できないMySQL の圧縮バージョンは、解...

ホームページのデザインはウェブデザイナーのレベルを最もよく反映する

私がこれまで携わってきた多くのプロジェクトでは、基本的に避けられない悪循環がありました。それは、ホー...

CSSスタイルは、テキストが長すぎる場合に省略記号を表示する問題を解決します

1. CSSスタイルは、テキストが長すぎる場合に省略記号を表示する問題を解決します1. 一般的なスタ...