不惑にしてまだ何者でもない者のブログ

Arduino関連、Raspberry Pi関連、プログラミング学習

paizaラーニング『Flask入門編4:SQLAlchemyでデータベースを操作しよう (全8回) 』を受講してみた

2021-02-09 22:10:26 | paiza

『Flask入門編4:SQLAlchemyでデータベースを操作しよう (全8回) 』


どうやら今回は、レッスン3とは異なり、
SQLの記述をしなくてもいいらしい。
でも結局データベースは用意しないといけないみたい😅 

本当に、WebアプリとかDB系は全然知らないことばかりだ。
Flask入門編が終わったら、DB/SQLの講座を受けてみよう。

メモ

#01:SQLAlchemyの役割と効果

  • データベースを効率よく操作できるORマッパー「SQLAlchemy」の役割と効果について学習する。
  • SQLAlchemyとは
    SQLAlchemyは、データベースのレコードをPythonのオブジェクトに割り当てる機能を持ったライブラリ。SQLAlchemyを使うと、データベースのレコードをオブジェクトとして扱えるようになり、SQLを書かなくても、Pythonのコードでデータベースが操作できる。
  • 参考になるWebページ
  • SQLAlchemyのインストールは以下の通り。
    pip install sqlalchemy
    • どうやら自分の環境だと既にインストール済みだった。
    • でもこの状態で
      from flask_sqlalchemy import SQLAlchemy
      を実行すると、flask_sqlalchemyって名前のモジュールはないよ!ってエラーになってしまった。😖 
      → どうやらそれとは別のflask_sqlalchemyをインストールしないといけないみたい。
      pip install flask_sqlalchemy
      参考URL:https://qiita.com/shirakiya/items/0114d51e9c189658002e

#02:Flask_SQLAlchemyでデータを表示する

  • Flask_SQLAlchemyでデータベースを操作する
    myapp/flask_app.py

    from flask_sqlalchemy import SQLAlchemy

#03:SQLAlchemyでデータを表示しよう

  • 最初の5件を取り出す
    players = Player.query.limit(5).all()
  • 条件に一致したデータだけを取り出す
    players = Player.query.filter(Player.level >= 5)
  • SQLAlchemyは、SQLインジェクションに対して比較的安全。

#04:SQLAlchemyでデータベースを使ってみよう

  • SQLAlchemyとFlaskで、データを追加する
  • SQLAlchemyとFlaskで、データを更新する
  • SQLAlchemyとFlaskで、データを削除する

#05:SQLAlchemyでテーブルを連結してデータを取り出す

  • テーブルを連結する
    • 外部キーを設定する
      job_id = db.Column(db.Integer, db.ForeignKey('jobs.id'))
    • リレーションシップを設定する
      player = db.relationship('Player', backref=db.backref('jobs', lazy=True))

認定証

結構、演習課題の難度とジャッジの遅さに手こずったけど、
一応認定証を取得。


学習ステータス

駆け出しから小粋な侍に進化した。
もともと駆け出しでも結構小粋だったけど、
髪が伸びてより小粋になったかな。😁 


最新の画像もっと見る

コメントを投稿