Pythonその他

FastAPIでAzure SQL Databaseのテーブルにデータ追加・更新をしてみた

PythonのプログラムからAzure SQL Databaseに接続する場合、データ抽出に加え、データ追加/データ更新も行うことができる。

今回は、FastAPIを利用したPythonのプログラムからAzure SQL Databaseに接続し、データ追加/データ更新を行ってみたので、その手順を共有する。

前提条件

下記サイトの手順に従って、Linux系のOS(Ubuntu)上のPythonの仮想環境(venv)で、FastAPIでAzure SQL Databaseに接続できること。

FastAPIでAzure SQL Databaseに接続してみたPythonのプログラムからAzure SQL Databaseに接続するには、ODBCドライバをインストールし、pyodbcパッケージ...

サンプルプログラムの内容

作成したサンプルプログラムの内容は以下の通りで、USER_DATAテーブルのモデル定義と、save_userメソッドを追加している。



ウズウズカレッジJavaコースはわかりやすい動画教材と充実した就業サポートで優良企業を目指せるプログラミングスクールだったJavaは、世界中で広く使われていて、現在の需要が高く将来性もある開発言語になります。 https://www.acrovision....

サンプルプログラムの実行結果

サンプルプログラムの実行結果は、以下の通り。

1) サンプルプログラム実行前の、SQL DatabaseのUSER_DATAテーブルの内容は、以下の通り。
サンプルプログラムの実行結果_1

2)「uvicorn main:app –reload」コマンドで、Uvicornを使用したFastAPIアプリケーションを実行する。
サンプルプログラムの実行結果_2

3) 別セッションからID=4であるデータを追加するcurl コマンドを実行した結果は、以下の通り。

<実行コマンド>
curl -X POST -H “Content-Type: application/json” -d ‘{“id” : “4” , “name” : “テスト プリン4” , “birth_year” : “2010” , “birth_month” : “5” , “birth_day” : “25” , “sex” : “2”, “memo” : “テスト4”, “version” : “0”}’ http://127.0.0.1:8000/save/user

サンプルプログラムの実行結果_3

4) 3)実行後の、SQL DatabaseのUSER_DATAテーブルの内容は以下の通りで、ID=4の指定したデータが追加されていることが確認できる。
サンプルプログラムの実行結果_4

5) 別セッションからID=4であるデータを更新するcurl コマンドを実行した結果は、以下の通り。

<実行コマンド>
curl -X POST -H “Content-Type: application/json” -d ‘{“id” : “4” , “name” : “テスト プリン4” , “birth_year” : “2011” , “birth_month” : “6” , “birth_day” : “26” , “sex” : “1”, “memo” : “テスト4更新後”, “version” : “1”}’ http://127.0.0.1:8000/save/user

サンプルプログラムの実行結果_5

6) 5)実行後の、SQL DatabaseのUSER_DATAテーブルの内容は以下の通りで、ID=4の指定したデータが更新されていることが確認できる。
サンプルプログラムの実行結果_6

要点まとめ

  • PythonのプログラムからAzure SQL Databaseに接続する場合、データ抽出に加え、データ追加/データ更新も行うことができる。