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選

推薦する

Struts2 ジャンプ後に CSS と JS が無効になる問題の解決策のアイデアと実装手順

struts2 アクションの実行後にジャンプした jsp が表示されると、css が機能しません。問...

Ubuntu16.04 インストール mysql5.7.22 グラフィックチュートリアル

VMware12.0+Ubuntu16.04+MySQL5.7.22 インストールチュートリアルの詳...

ピクセルを包括的なブランド体験に変えるヒント

編集者:この記事では、インタラクティブデザインがブランドコミュニケーションチェーン全体で果たすべき役...

Vue でルートをジャンプする方法をご存知ですか?

目次最初の方法: router-link (宣言型ルーティング) 2番目の方法: router.pu...

エンタープライズプロダクション MySQL 最適化入門

Oracle、DB2、SQL Server などの他の大規模データベースと比較すると、MySQL に...

HTML コード作成ガイド

共通コンベンションタグ自己終了タグ。閉じる必要はありません (例: img input br hr ...

mysql 起動時の ERROR 2003 (HY000) の問題を解決する方法

1. 問題の説明MYSQL を起動すると、図に示すように、「ERROR 2003 (HY000): ...

Nginx リバース プロキシから go-fastdfs へのケースの説明

背景go-fastdfs は、http プロトコルをサポートする分散ファイルシステムです。一般的なプ...

Windows Server 2008 のサーバー パフォーマンス監視に関するチュートリアル

次に、ログ管理、ログのアーカイブ、ログのトラブルシューティング、イベントの転送と収集のためのコンピュ...

ブラウザが登録できるイベントの概要

HTML イベント リスト一般イベント: onClick HTML: マウスクリックイベント。主にオ...

フロントエンド開発に必要な共通ツール機能のまとめ

1. 時刻の書式設定とその他の方法moment.jsライブラリファイルの使用をお勧めします2. テン...

Vueでフォームデータを取得する方法

目次必要データを取得して送信するテンプレートフィルターフィルターの使用シナリオ要約する必要Vue を...

ウェブページの読み込み進捗状況バーの詳細な説明(推奨)

(Web ページの読み込み中に、コンテンツが多すぎて読み込みと待機が続くことがあります。このとき、...

VirtualBox6上のCentOS7で静的IPを設定する方法と注意点

VirtualBox をインストールした後、CentOS 7 をインストールします。ここでは詳細には...

Ubuntu Linux に Git と GitHub をインストールして使用する

Git 入門Git は、Linux(R) カーネル開発の管理を支援するために 2005 年に Lin...