演習課題「jobsテーブルにデータを追加する」
右の環境には、FlaskでMySQLからjobsテーブルのデータを表示するプログラムが作成してあります。
このファイルを修正して、以下のデータを追加して表示してください。
カラム名
- job_name, vitality, strength, agility, intelligence, luck
追加データ
- "忍者",3,3,8,5,7
採点して、すべてのジャッジに正解すれば、演習課題クリアです!
※ 採点時は、フォームにアクセスできる状態にしてください。
#04:Pythonでデータベースを使ってみよう2
ここでは、データベースにデータを追加・更新・削除する方法を学んでいきます。この機能を使うことで、RPGのプレイヤーに新しいメンバーを追加したり、名前を変更したり、削除したりできます。
myapp/hello.pyfrom flask import Flask, render_template
import pymysql
app = Flask(__name__)
def getConnection():
return pymysql.connect(
host='localhost',
db='mydb',
user='root',
password='',
charset='utf8',
cursorclass=pymysql.cursors.DictCursor
)
@app.route('/')
def select_sql():
connection = getConnection()
message = "Hello world"
cursor = connection.cursor()
# sql = "INSERT INTO players (name,level,job_id) VALUES('霧島1号', 1, 1)"
# sql = "UPDATE players SET level = 10 WHERE id = 11"
sql = "DELETE FROM players WHERE id = 11"
cursor.execute(sql)
connection.commit()
sql = "SELECT * FROM players"
cursor.execute(sql)
players = cursor.fetchall()
cursor.close()
connection.close()
return render_template('view.html', message = message, players = players)
myapp/templates/view.html{% extends "layout.html" %}
{% block content %}
<h1>Hello SQL</h1>
<p>{{ message }}</p>
{% for player in players %}
<p>{{ player }}</p>
{% endfor %}
{% endblock %}
$ FLASK_APP=hello.py FLASK_ENV=development flask run
# データを追加する
INSERT INTO players(name,level,job_id) VALUES('霧島1号', 1, 1)# データを更新する
UPDATE players SET level = 10 WHERE id = 11# データを更新する。1増加
UPDATE players SET level = level + 1 WHERE id = 12# データを削除する
DELETE FROM players WHERE id = 13# 複数のデータを削除する
DELETE FROM players WHERE id >= 11
SQL攻略 - INSERT文
http://sql.main.jp/cont/sql/in.html
SQL攻略 - UPDATE文
http://sql.main.jp/cont/sql/up.html
SQL攻略 - DELETE文
http://sql.main.jp/cont/sql/de.html