sqlite3相应的注意点
注意:sqlite3在execute("sql语句") sqlite3只支持?,:=占位符 不支持%s 但是sql语句作为变量execute(sql)里只可以用%s作占位符,等号的另一遍要加a = 'b'
模糊查询
sql语句like用法
sql = "select %s,%s,%s,%s,%s,%s,%s from product where HisunPN like '%%%s%%' " % (self.sale_power[0], self.sale_power[1], self.sale_power[2], self.sale_power[3], self.sale_power[4], self.sale_power[5], self.sale_power[6], value) result = self.first.cursor.execute(sql).fetchall()
显示结果为'%字段%', 上述查询结果为关键词里包含字段的
sql语句修改操作
update用法
用占位符?
self.cursor.execute("UpDATE userinfo set password = ? where usename = ?", (pwd, username))
注意如果用%s
sql = "UpDATE product set %s='%s' where HisunPN='%s' " % (name, value, HisunPN) print(sql) self.cursor.execute(sql)
插入数据的时候,如果字段对应,可以省略(col,col1....)
self.cursor.execute("insert into userinfo values (?, ?, ?)", (username, pwd, power))