python - 如何在 Python 中使用类似 SQLite 的数据
问题描述
我想从 SQLite 数据库中提取数据。但它不是这样工作的:
con = sqlite3.connect('myTable.db')
cur = con.cursor()
cur.execute("SELECT * FROM users Where user_id= '{0}'".format(curent_user_id)
a = cur.fetchall() #output: [('1022197197', 'En', '{"JSON_FORMAT_DATA": "bsq83l0gt21xmjp6vcrnf9ea5kuo7y"}')]
con.close()
print(a[0])
我希望输出是这样的:'1022197197'。如何才能做到这一点?
解决方案
您的情况下的fetchall()函数返回一个元组列表。当你运行时print(a[0])
,你只会得到列表中的第一个元组。这不是最干净的,但请尝试print((a[0])[0])
。
另外作为旁注,据我所知,您使用的 {} format() 方法容易受到 SQL 注入攻击。我会将该行更改为:
c.execute("SELECT * FROM users WHERE user_id=:user_id", {'user_id': current_user_id})
推荐阅读
- javascript - 从 JSP 获取原始文件路径
到 Spring Boot 控制器 - json - API 自动化:在“GET”请求中接收“`io.restassured.path.json.JsonPath@12345xxx”之类的输出
- python - 如何矢量化以下 python 代码(图像转换)?
- json.net - 使用 Json.Net 进行 Azure EventGridEvent 的输入绑定
- reactjs - 删除反应导航蓝线
- docker - 无法将 log4net 日志发送到应用程序洞察
- python - 使用 asyncio 处理流数据
- r - 选择日期变量的最后一次观察 - SPSS 或 R
- excel - VBA遍历复选框并从excel表中获取其名称
- javascript - Java 验证 使用哈希码的更好方法