ORM とは何ですか?ORM は Object Relational Mapping の略で、オブジェクト リレーショナル マッピングを意味します。一般的には、プログラミング言語の仮想データベースとして理解できます。 ORMを理解する ユーザーアドレス情報データベーステーブルとオブジェクト間のマッピング 【ORMの重要な特徴】1. オブジェクト指向プログラミングの概念、拡張が容易 2. 開発効率を向上させるためにSQLを少なく(ほとんど書かない) 3. さまざまな種類のデータベース(一般的に使用されるmysql、pg、oracleなど)をサポートし、簡単に切り替えることができます。 4. ORM技術はすでにかなり成熟しており、ほとんどの問題を解決できる [ORMモデルフレームワークの選択]SQLAlchemy ORM モデルご存知のとおり、選択できる ORM フレームワーク モデルは多数あるため、ここでは SQLAlchemy モデル フレームワークを選択しました。 pip install SQLAlchemy install sql alchemy; バージョン番号を指定することもできます pip install SQLAlchemy ==1.4.17 import sqlalcherm; sqlalchemy.__version__; インストールが成功したかどうかとバージョン番号を確認します。 [SQL Alchemy の使用] 1. データベースへの接続を開始する 2. ORM モデル基本クラスを宣言する 3. ORM モデルクラスを実装する 4. データベーステーブルを同期する データベースへの接続を開始する
sqlalchemyからcreate_engineをインポート create_engine("mysql://root:@127.0.0.1:3306/school?charset=utf8,echo=True,future=True") create_engine パラメータの説明
SQLAlchemy の設定 パスワードに特殊文字が含まれている場合はどうすればいいですか? さっそく、以下のコードをご覧ください urllib.parse から quote_plus をインポートします パスワードに特殊文字が含まれている場合は、それを処理するためのクラスをインポートする必要があります。 password_formatted = quote.plus("mima%&&&mima") 処理されたパスワードを上記の sqlalchemy 設定に貼り付けます。 ORMモデル基本クラスを宣言するsqlalchemy.orm から declarative_base をインポートします この基本クラスを宣言します Base = declarative_base() ORMモデルクラスの実装どうやってそれを達成するのでしょうか? それを継承するクラスを作成する必要があります。 次に1つの属性を設定する必要があります sqlalchemy から列、整数、文字列、日付時刻をインポートします クラス Student(Base): 「学生情報フォーム」 __tablename__ = '学生' id = 列(整数、名前='id'、主キー=True) stu_no = 列(整数、nullable=False、コメント='学生番号') stu_name = 列(文字列(16)、nullable=False、コメント='name') created_at = 列(日時) 1. 同期する前にデータベースが存在することを確認する必要があります。存在しない場合は、手動で作成する必要があります。 2 テーブルの作成、テーブルの削除 orm_connect_exampleからBase、engineをインポートします # テーブルを作成する Base.metadata.create_all(engine) #テーブルを削除する Base.metadata.drop_all(engine) [ORMに対応するモデルフィールドタイプ] コード例 sqlalchemyからcreate_engineをインポート sqlalchemy.orm から declarative_base をインポートします sqlalchemy から列、整数、文字列、日付時刻をインポートします # 最初のステップは接続の準備です engine = create_engine('mysql://root:@10.72.100.1:8081/test_database_1?charset=utf8',echo=True) # ステップ 2: ORM モデルの基本クラスを宣言する Base = declarative_base() # 3 番目のステップは、ORM モデル クラス class Student(Base) を実装することです。 「学生情報フォーム」 __tablename__ = '学生' id = 列(整数、名前='id'、主キー=True) stu_no = 列(整数、nullable=False、コメント='学生番号') stu_name = 列(文字列(16)、nullable=False、コメント='name') created_at = 列(日時) #4番目のステップは、データベーステーブルを同期することです。def create_table() 「データベース テーブルを同期する」 # 新しいテーブルを作成する Base.metadata.create_all(bind=engine) # テーブルを削除する Base.metadata.drop_all(bind=engine) ORM モデル フレームワークを使用して MySQL データベースを操作する方法についての記事はこれで終わりです。ORM モデル フレームワークに関するより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: VMware で Nginx+KeepAlived クラスタ デュアルアクティブ アーキテクチャを展開する際の問題と解決策
>>: フレックスレイアウトでコンテナ内のコンテンツを維持するためのソリューションの詳細な説明
ドロップダウンボックス、テキストフィールド、ファイルフィールド 上半分はデモンストレーション効果、下...
目次1. インデックスの種類1. B+ツリー2. MyISAM と InnoDB の B+ ツリー ...
centos8 ディストリビューションは、BaseOS および AppStream リポジトリを通じ...
序文プロジェクト開発中、各人のコーディング習慣が異なるため、記述された CSS コードは十分に構造化...
この記事では、オンラインチャットを実現するためのVue + sshフレームワークの具体的なコードを参...
この記事では、Ubuntu 18.04 に Redis と phpredis 拡張機能をインストール...
以下のコードをDreamweaverのコードエリアにコピーすると、プレビュー時に以下の画像が表示され...
will-change は、要素にどのような変更が行われるかをブラウザに伝え、ブラウザが事前に最適化...
この記事では、主に html + css を使用してサラウンド リフレクション ローディング エフェ...
WeChatアプレットフォームの検証、参考までに具体的な内容は次のとおりです。プラグインWxVali...
操作効果コードの実装html <div id="ウォッチ"> <...
1. 計算属性とは何ですか? 簡単に言えば、計算された結果が属性に保存されるもので、キャッシュとして...
ネガティブな距離は共感を意味します。序文(疑問の提起):プロダクトマネージャーは機能を把握します。機...
CSS 疑似要素を使用して要素を制御する場合、一部の要素のスタイルを変更する必要があることがよくあり...
1. HTML部分 <Col span="2">ファイルをアップロー...