如何在不使用成熟的ORM的情况下构建SQL查询?

2024-06-17 08:43:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在编写一个在googleappengine上运行的Python应用程序,并将数据写入googlefusion表。Fusion Tables API使用类似SQL的查询来插入行。在

我目前正在构建这样的SQL查询:

fusion_table_id = "gobblygook"
name = "John Doe"
rank = "Captain"
serial_number = 42
SQL = "INSERT INTO %s (name, rank, serial_number) VALUES (%s, %s, %s)" % (fusion_table_id, name, rank, serial_number)

显然,这并不理想。除了潜在的攻击,我遇到了各种各样的引文逃避问题。在

如果不使用成熟的ORM(我不需要实际连接到数据库),那么构建这种SQL查询的最佳方法是什么?在


Tags: 数据nameapiid应用程序numbertablessql
1条回答
网友
1楼 · 发布于 2024-06-17 08:43:34

我认为格式字符串提供了一种处理SQL查询的好方法:

    params = {
        'fusion_table_id': 'gobblybook',
        'name': 'John Doe',
        'rank': 'Captain',
        'serial_number': 42,
        }

    SQL = "INSERT INTO {fusion_table_id} (name, rank, serial_number) VALUES ({name}, {rank}, {serial_number})".format(**params)

更多信息请访问PEP-3101

相关问题 更多 >