## 模块 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` 文件，您可以简单浏览源代码。

+ 通过位置占位符插入数据。

  ```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)
