【发布时间】:2017-03-05 19:13:16
【问题描述】:
你好 我有一个关于 SQLite 函数的问题,也许吧。
所以,问题:
如何检查我在Python中设置的name是否在某列?
例子:
name = 'John'
Table name = my_table
Column name = users
代码详情:
C = conn.cursor()
请
【问题讨论】:
标签: python python-3.x sqlite mysql-python
你好 我有一个关于 SQLite 函数的问题,也许吧。
所以,问题:
如何检查我在Python中设置的name是否在某列?
例子:
name = 'John'
Table name = my_table
Column name = users
代码详情:
C = conn.cursor()
请
【问题讨论】:
标签: python python-3.x sqlite mysql-python
根据需要在查询中使用参数。请参阅随附的示例以获得更好的理解。
用于在表中搜索值的示例 SQLite 代码
import sqlite3 as sqlite
import sys
conn = sqlite.connect("test.db")
def insert_single_row(name, age):
try:
age = str(age)
with conn:
cursor = conn.cursor()
cursor.execute("CREATE TABLE IF NOT EXISTS USER_TABLE(NAME TEXT, AGE INTEGER);")
cursor.execute("INSERT INTO USER_TABLE(NAME, AGE) VALUES ('"+name+"',"+age+")")
return cursor.lastrowid
except:
raise ValueError('Error occurred in insert_single_row(name, age)')
def get_parameterized_row(name):
try:
with conn:
cursor = conn.cursor()
cursor.execute("SELECT * FROM USER_TABLE WHERE NAME = :NAME",
{"NAME":name})
conn.commit()
return cursor.fetchall()
except:
raise ValueError('Error occurred in get_parameterized_row(name)')
if __name__ == '__main__':
try:
return_id = insert_single_row("Shovon", 24)
return_id = insert_single_row("Shovon", 23)
return_id = insert_single_row("Sho", 24)
all_row = get_parameterized_row("Shovon")
for row in all_row:
print(row)
except Exception as e:
print(str(e))
输出:
('Shovon', 24)
('Shovon', 23)
在这里,我创建了一个名为USER_TABLE 的表,它有两个属性:NAME 和AGE。然后我在表中插入了几个值并搜索了一个特定的NAME。希望它提供了一种在项目中开始使用 SQLite 的方法。
【讨论】:
get_parameterized_row(name) 方法。在数据库操作中尝试 catch 是一种很好的做法,这可能会使代码变长。