【问题标题】:Python 3 + SQLite checkPython 3 + SQLite 检查
【发布时间】: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


    【解决方案1】:

    根据需要在查询中使用参数。请参阅随附的示例以获得更好的理解。

    用于在表中搜索值的示例 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 的表,它有两个属性:NAMEAGE。然后我在表中插入了几个值并搜索了一个特定的NAME。希望它提供了一种在项目中开始使用 SQLite 的方法。

    【讨论】:

    • 谢谢!我看看我能做什么。是否有另一种(更短的)方法来检查某个表中是否有 VARIABLE
    • 尝试在您的情况下实现上述get_parameterized_row(name) 方法。在数据库操作中尝试 catch 是一种很好的做法,这可能会使代码变长。
    猜你喜欢
    • 2018-01-02
    • 2020-08-08
    • 2016-07-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多