この記事では、Pythonを使用してMySQLデータベースにAPIインタフェースを開発する方法を紹介します。具体的なコード例とその解説、応用例を含めています。
目次
はじめに
PythonはWeb開発やデータ分析、AI開発など多くの用途で用いられています。MySQLは、リレーショナルデータベースとして広く利用されています。この二つを組み合わせて、APIインタフェースを開発することで、柔軟かつ強力なシステムを構築できます。
必要なツールと環境
Python
Python 3.xのインストールが必要です。
MySQL
MySQLサーバーが稼働している環境が必要です。
Flask
API開発にはFlaskが便利です。
基本的なAPIインタフェースの開発
データベース接続
PythonでMySQLに接続するには、`mysql-connector-python`パッケージを使用します。
# MySQLデータベースに接続
import mysql.connector
# 接続情報
config = {
'user': 'root',
'password': 'password',
'host': '127.0.0.1',
'database': 'test_db'
}
# 接続
conn = mysql.connector.connect(**config)
データの取得と返却
データを取得してJSON形式で返却します。
from flask import Flask, jsonify
app = Flask(__name__)
@app.route('/api/items', methods=['GET'])
def get_items():
cursor = conn.cursor()
cursor.execute("SELECT * FROM items")
rows = cursor.fetchall()
return jsonify(rows)
応用例
検索機能の追加
クエリパラメータを用いて、特定のデータだけを返却するAPIを作成します。
@app.route('/api/items/search', methods=['GET'])
def search_items():
keyword = request.args.get('keyword')
cursor = conn.cursor()
query = "SELECT * FROM items WHERE name LIKE %s"
cursor.execute(query, ('%' + keyword + '%',))
rows = cursor.fetchall()
return jsonify(rows)
データの更新
PUTメソッドを用いて、データを更新します。
@app.route('/api/items/', methods=['PUT'])
def update_item(id):
cursor = conn.cursor()
query = "UPDATE items SET name = %s WHERE id = %s"
cursor.execute(query, ('new_name', id))
conn.commit()
return 'Updated successfully'
まとめ
PythonとMySQLを組み合わせて、基本的なAPIインタフェースから検索機能、データ更新機能までを開発する方法を学びました。この知識を基に、さらに高度なAPI開発が可能です。
コメント