问题来源
使用** import sqlite3 ** 连接数据库后执行查询query,涉及到参数填充
原来使用的方法
sql = f'SELECT code, name, dept FROM {
table_name} WHERE code= \'{
input_code}\' LIMIT 1'
cur.execute(sql)
其它的方法
sql = 'SELECT code, name, dept FROM %s WHERE code= \'%s\' LIMIT 1' % (table_name, input_code)
cur.execute(sql)
table_name 和 input_code 都是执行的sql语句要输入的参数。
总结知识点
Python 中 %s %d 都是做什么用的
回溯一下学习c语言时输出printf和输入scanf函数中在输入输出时,对不同类型的数据(如int,float,char等)要使用不同的格式来进行说明。
具体的格式说明由“%”和格式字符组成,如%d%f等。它的作用是将输出的数据转换为指定的格式输出。格式说明总是由“%”字符开始的。 格式字符有d,o,x,u,c,s,f,e,g等。
python 语言和c语言在这一点上是相类似的。
- 具体的格式描述如下:
格式 | 描述 |
---|---|
%% | 百分号标记 #就是输出一个% |
%c | 字符及其ASCII码 |
%s | 字符串 |
%d | 有符号整数(十进制) |
%u | 无符号整数(十进制) |
%o | 无符号整数(八进制) |
%x | 无符号整数(十六进制) |
%X | 无符号整数(十六进制大写字符) |
%e | 浮点数字(科学计数法) |
%E | 浮点数字(科学计数法,用E代替e) |
%f | 浮点数字(用小数点符号) |
%g | 浮点数字(根据值的大小采用%e或%f) |
%G | 浮点数字(类似于%g) |
%p | 指针(用十六进制打印值的内存地址) |
%n | 存储输出字符的数量放进参数列表的下一个变量中 |
%格式化符也可用于字典,可用%(name)引用字典中的元素进行格式化输出。
负号指时数字应