Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update dev-guide-sample-application-python-pymysql.md (#16160) #16308

Merged
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 5 additions & 6 deletions develop/dev-guide-sample-application-python-pymysql.md
Original file line number Diff line number Diff line change
Expand Up @@ -179,7 +179,6 @@ pip install -r requirements.txt
from pymysql import Connection
from pymysql.cursors import DictCursor


def get_connection(autocommit: bool = True) -> Connection:
config = Config()
db_conf = {
Expand Down Expand Up @@ -208,7 +207,7 @@ def get_connection(autocommit: bool = True) -> Connection:
with get_connection(autocommit=True) as conn:
with conn.cursor() as cur:
player = ("1", 1, 1)
cursor.execute("INSERT INTO players (id, coins, goods) VALUES (%s, %s, %s)", player)
cur.execute("INSERT INTO players (id, coins, goods) VALUES (%s, %s, %s)", player)
```

更多信息参考[插入数据](/develop/dev-guide-insert-data.md)。
Expand All @@ -229,8 +228,8 @@ with get_connection(autocommit=True) as conn:
```python
with get_connection(autocommit=True) as conn:
with conn.cursor() as cur:
player_id, amount, price="1", 10, 500
cursor.execute(
player_id, amount, price = "1", 1, 50
cur.execute(
"UPDATE players SET goods = goods + %s, coins = coins + %s WHERE id = %s",
(-amount, price, player_id),
)
Expand All @@ -244,7 +243,7 @@ with get_connection(autocommit=True) as conn:
with get_connection(autocommit=True) as conn:
with conn.cursor() as cur:
player_id = "1"
cursor.execute("DELETE FROM players WHERE id = %s", (player_id,))
cur.execute("DELETE FROM players WHERE id = %s", player_id)
```

更多信息参考[删除数据](/develop/dev-guide-delete-data.md)。
Expand All @@ -259,7 +258,7 @@ Python 驱动程序提供对数据库的底层访问,但要求开发者:
- 手动管理数据库事务
- 手动将数据行(在 pymysql 中表示为元组 (tuple) 或者字典 (dict))映射为数据对象

建议仅在需要编写复杂的 SQL 语句时使用驱动程序。其他情况下,建议使用 [ORM](https://zh.wikipedia.org/wiki/对象关系映射) 框架进行开发,例如 [SQLAlchemy](/develop/dev-guide-sample-application-python-sqlalchemy.md)、[Peewee](/develop/dev-guide-sample-application-python-peewee.md) 和 Django。ORM 可以帮助你:
建议仅在需要编写复杂的 SQL 语句时使用驱动程序。其他情况下,建议使用 [ORM](https://zh.wikipedia.org/wiki/对象关系映射) 框架进行开发,例如 [SQLAlchemy](/develop/dev-guide-sample-application-python-sqlalchemy.md)、[Peewee](/develop/dev-guide-sample-application-python-peewee.md) 和 [Django](/develop/dev-guide-sample-application-python-django.md)。ORM 可以帮助你:

- 减少管理连接和事务的[模板代码](https://en.wikipedia.org/wiki/Boilerplate_code)
- 使用数据对象代替大量 SQL 语句来操作数据
Expand Down
Loading