## モジュール 2: Python コードを実行する

Python コードを実行して TiDB Cloud Starter クラスタに接続し、基本的な操作を行います。

### 手順 1. TiDB Cloud Starter クラスタに接続する

+ VS Code の左側の **EXPLORER** で、`mysql_connector_python_demo` フォルダの下にある `demo_connection.py` ファイルをクリックし、ソースコードを簡単に確認してください。この Python スクリプトは、演習用の TiDB Cloud Starter クラスタに接続し、`${LAB:SERVERLESS_CLUSTER_DATABASE_NAME}` という名前の新しいデータベースを作成します。

+ VS Code ターミナルで `demo_connection.py` を実行します。

  ```bash
  poetry run python mysql_connector_python_demo/demo_connection.py
  ```

  ```output
  Connected to gateway01.us-west-2.prod.aws.tidbcloud.com:4000 as 42yK4xxxxxxxxxxxxsP (Connection ID: 1233194)
  ...
  ```

  ![90%](https://public-pingcap-innovation.s3.us-west-2.amazonaws.com/demo-405/405-demo-connection-0307.jpg)

> [!IMPORTANT]
> 接続文字列は`.env`ファイルに保存されています。
> 今後の手順では、`demo_connection.py`の`get_connection`関数を使用してTiDB Cloud Starterクラスタへの接続を取得します。

### 手順 2. データを挿入する

+ VS Code の左側の **EXPLORER** で、`mysql_connector_python_demo` フォルダの下にある `positional_placeholders.py` ファイルをクリックし、ソースコードを簡単に確認してください。

+ `positional_placeholders.py` を実行して位置プレースホルダーを使用してデータを挿入します。

  ```bash
  poetry run python mysql_connector_python_demo/positional_placeholders.py
  ```

  ```output
  1 row inserted into table t1 by positional placeholders
  ```

  ![90%](https://public-pingcap-innovation.s3.us-west-2.amazonaws.com/demo-405/405-positional-placeholders-0307.jpg)

+ VS Code の左側の **EXPLORER** で、`mysql_connector_python_demo` フォルダの下にある `named_placeholders.py` ファイルをクリックし、ソースコードを簡単に確認してください。

+ 名前付きプレースホルダーを使用してデータを挿入します。

  ```bash
  poetry run python mysql_connector_python_demo/named_placeholders.py
  ```

  ```output
  1 row inserted into table t1 by named placeholders
  ```

  ![90%](https://public-pingcap-innovation.s3.us-west-2.amazonaws.com/demo-405/405-named-placeholders-0307.jpg)

### 手順 3. データを照会する

+ VS Code の左側の **EXPLORER** で、`mysql_connector_python_demo` フォルダの下にある `query_fetch_all.py` ファイルをクリックし、ソースコードを簡単に確認してください。

+ `fetchall()` 関数を使用してデータを照会します。

  ```bash
  poetry run python mysql_connector_python_demo/query_fetch_all.py
  ```

  ```output
  PK of ABC is 1
  PK of DEF is 2
  ```

  ![90%](https://public-pingcap-innovation.s3.us-west-2.amazonaws.com/demo-405/405-fetchall-0307.jpg)

+ VS Code の左側の **EXPLORER** で、`mysql_connector_python_demo` フォルダの下にある `query_fetch_one.py` ファイルをクリックし、ソースコードを簡単に確認してください。

+ `fetchone()` 関数を使用してデータを照会します。

  ```bash
  poetry run python mysql_connector_python_demo/query_fetch_one.py
  ```

  ```output
  PK of ABC is 1
  PK of DEF is 2
  ```

  ![90%](https://public-pingcap-innovation.s3.us-west-2.amazonaws.com/demo-405/405-fetchone-0307.jpg)
