『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.pysql = "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?)を用意できなかったから、
イマイチやった感がなかったな。
それにしても演習課題の実行環境構築に何度も失敗したり、
ジャッジに時間が掛かったりするのが面倒だった。
学習ステータス
浪人から駆け出し侍に進化した。
駆け出しとはいえ、そんな格好の侍って大丈夫なのだろうか?😁
※コメント投稿者のブログIDはブログ作成者のみに通知されます