2017-03-05 47 views
-1

你好 我有一个关于SQLite函数的问题,也许。Python 3 + SQLite检查

所以,问题:

如何检查是否我在Python设置在某些列?

例子:

name = 'John' 

Table name = my_table 

Column name = users 

代码的细节:如需要查询

C = conn.cursor() 

回答

0

使用参数。请参阅附件以获得更好的理解。在表中寻找价值

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)) 

输出

样品的SQLite代码:

('Shovon', 24) 
('Shovon', 23) 

在这里,我已经创建了一个表中调用USER_TABLE有两个属性:NAMEAGE。然后我在表中插入了几个值并搜索了一个特定的NAME。希望它提供了一种在项目中开始使用SQLite的方法。

+0

谢谢!我会看看我能做些什么。是否有另一种(较短)的方法来检查某些表中的* VARIABLE *? – XENONIUM

+1

尝试在你的情况下实现上面提到的'get_parameterized_row(name)'方法。尝试捕捉数据库操作可能会使代码更长一些,这是一个很好的做法。 – arsho