- Flask-MySQLdbを使用する方法: Flask-MySQLdbは、FlaskとMySQLデータベースを接続するための便利な拡張機能です。まず、Flask-MySQLdbをインストールします。
pip install Flask-MySQLdb
次に、以下のようなコードを使用してデータを挿入できます。
from flask import Flask, request
from flask_mysqldb import MySQL
app = Flask(__name__)
app.config['MYSQL_HOST'] = 'localhost'
app.config['MYSQL_USER'] = 'your_username'
app.config['MYSQL_PASSWORD'] = 'your_password'
app.config['MYSQL_DB'] = 'your_database_name'
mysql = MySQL(app)
@app.route('/insert', methods=['POST'])
def insert():
data = request.form
name = data['name']
age = data['age']
cur = mysql.connection.cursor()
cur.execute("INSERT INTO your_table_name (name, age) VALUES (%s, %s)", (name, age))
mysql.connection.commit()
cur.close()
return 'Data inserted successfully'
if __name__ == '__main__':
app.run()
上記のコードでは、Flask-MySQLdbを使用してMySQLデータベースに接続し、/insert
エンドポイントでPOSTリクエストを処理しています。リクエストのデータ(名前と年齢)を取得し、INSERT INTO
クエリを使用してデータをデータベースに挿入しています。
- SQLAlchemyを使用する方法: もう一つの方法は、SQLAlchemyを使用する方法です。SQLAlchemyは、PythonのORM(Object Relational Mapper)ライブラリであり、データベース操作をより簡単に行うことができます。
まず、SQLAlchemyをインストールします。
pip install SQLAlchemy
次に、以下のようなコードを使用してデータを挿入できます。
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://your_username:your_password@localhost/your_database_name'
db = SQLAlchemy(app)
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(50))
age = db.Column(db.Integer)
@app.route('/insert', methods=['POST'])
def insert():
name = request.form['name']
age = request.form['age']
new_user = User(name=name, age=age)
db.session.add(new_user)
db.session.commit()
return 'Data inserted successfully'
if __name__ == '__main__':
app.run()
上記のコードでは、SQLAlchemyを使用してMySQLデータベースに接続し、User
モデルを定義しています。/insert
エンドポイントでPOSTリクエストを処理し、リクエストのデータを使用して新しいユーザーを作成し、データベースに挿入しています。
これらはFlaskとPythonを使用してMySQLにデータを挿入するための2つの一般的な方法です。どちらの方法を選択するかは、プロジェクトの要件や好みによって異なります。