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

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

paizaラーニング『Flask入門編3:Pythonでデータベースの基本を理解しよう (全7回)』を受講してみた

2021-02-09 13:01:00 | paiza

『Flask入門編3:Pythonでデータベースの基本を理解しよう (全7回) 』


SQLの知識が必要っぽいな😨 
これはさすがに今の知識では、
SQLを自分の環境を整備するのは厳しいかな?😰 
phpMyAdminってのをインストールすればいいみたいだけど・・・

ただ、PythonでPyMySQLモジュール(ライブラリ?)が必要になるみたいだから、一応インストールしておこう。

pip install PyMySQL

※ ちなみに、最初こっちをインストールしてしまったけど、今回のとは違うみたい。
pip install mysql-connector-python
参考URL:

でも結局SQLサーバーがないから、Pythonのスクリプトを実行したところで、何も反応無いんだけど・・・

メモ

#01:Pythonでデータベースに接続しよう

  • Pythonで、データベースからデータを取り出す
    import pymysql

#02:Flaskでデータベースから表示しよう

  • Flaskを起動する
    $ FLASK_APP=hello.py FLASK_ENV=development flask run

#03:Pythonでデータベースを使ってみよう1

  • SQL文の例
    • # 全てのデータを取り出す
      SELECT * FROM players;
    • # 一部のカラムだけ取得する
      SELECT name, level FROM players;
    • # 一部の行だけ取得する
      SELECT * FROM players WHERE level >= 7;
    • # 複数の条件を組み合わせる
      SELECT * FROM players WHERE level >= 7 AND job_id <> 6;
      SELECT * FROM players WHERE level >= 7 OR job_id = 6;
    • #条件指定とカラム選択を組み合わせる
      SELECT name, level FROM players WHERE level >= 7;
  • 変数で条件を指定する
    myapp/hello.py

        sql = "SELECT * FROM players WHERE level >= %s AND level <= %s"
     cursor = connection.cursor()
     cursor.execute(sql, (5, 10))
     players = cursor.fetchall()

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

  • データベースにデータを追加する
     sql = "INSERT INTO players (name, level, job_id) VALUES ('霧島1号', 1, 1)"
     cursor.execute(sql)
     connection.commit()
  • データベースのデータを更新する
     sql = "UPDATE players SET level = 10 WHERE id = 11"
     cursor.execute(sql)
     connection.commit()
  • データベースからデータを削除する
     sql = "DELETE FROM players WHERE id = 11"
     cursor.execute(sql)
     connection.commit()

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

  • 複数のテーブルを結合して扱う方法を学習する。
    • SQLを使って、mydbデータベースの「players」テーブルの「job_id」と「jobs」テーブルの「id」を結合する。
  • テーブルの結合とは
    テーブルの結合とは、重複したデータのテーブルを分割しておいて、必要に応じて、仮想的な1つの表として連結して扱う方法。このようにテーブルを結合することを「リレーション」とか「連結」「関連付け」と呼ぶ場合もある。
  • 結合の種類
    • 内部結合(INNER JOIN):両方のテーブルに共通のデータを表示
    • 外部結合
      • 左結合(LEFT JOIN):左側テーブルを基準に表示
      • 右結合(RIGHT JOIN):右側テーブルを基準に表示
      • 完全外部結合:
  • SQL文の例
    • # 左結合
      SELECT * FROM players LEFT JOIN jobs ON jobs.id = players.job_id

#06:データをtableタグで表示する

  • Flaskでデータベースの値を表示する時の見栄えを整える。
    そのために、HTMLのtableタグを使って、データを表示する。


認定証

自分の環境でデータベース(SQL?)を用意できなかったから、
イマイチやった感がなかったな。

それにしても演習課題の実行環境構築に何度も失敗したり、
ジャッジに時間が掛かったりするのが面倒だった。



学習ステータス
浪人から駆け出し侍に進化した。
駆け出しとはいえ、そんな格好の侍って大丈夫なのだろうか?😁 


最新の画像もっと見る

コメントを投稿