暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

金仓数据库KingbaseES客户端编程接口指南-Python (4. 执行SQL语句)

数据猿 2022-08-25
512

4. 执行SQL语句

4.1. 查询和结果集处理

使用 cursor 函数来获取游标对象,然后调用 execute 函数来发送查询语句。

fetchall 函数可以获取全部结果集,也可以使用 fetchone 函数获取单行结果,若为空,将返回空列表。

cur = conn.cursor()
cur.execute("select id from test")
rows = cur.fetchall()
for row in rows:
    print(row)
cur.close()

4.2. 执行非查询SQL语句

获取游标对象后,直接执行 execute 函数即可。

cur = conn.cursor()
cur.execute('create table test(id integer, name TEXT)')
cur.exeute("INSERT INTO TEST(id, name) VALUES(1, 'John')")

cur.close()

4.3. 参数传递

ksycopg2实际上并没有prepare和bind功能,而是使用了参数传递将Python类型转换为SQL类型来防止SQL注入。

占位符使用%标记,使用%s表示按位置占位符,%(name)s表示命名占位符。

cur.exeute("INSERT INTO TEST(id, name) VALUES(%s, %s)", (2, "position placeholder"))

cur.exeute("INSERT INTO TEST(id, name) VALUES(%(id)s, %(val)s)", {'val': 'name placeholder', 'id': 3})
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论