PythonでMySQLデータベースにAPIインタフェースを開発する完全ガイド

この記事では、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開発が可能です。

コメント

コメントする

目次