Pandas read_sql_query验证

时间:2017-12-12 17:58:23

标签: python sql sqlite pandas

pandas.read_sql_query如何验证传递给$ echo 1 > test.txt $ python >>> from pandas import read_sql_query >>> from sqlalchemy import create_engine >>> db = create_engine("sqlite:///:memory:") >>> read_sql_query(".shell rm test.txt", db) [Traceback omitted] sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) near ".": syntax error [SQL: '.shell rm test.txt'] 的SQL查询?例如,以下内容不起作用。

sqlite3

但是,如果我直接在test.txt中运行相同的查询,那么它会正确运行并移除pandas.read_sql_query

这意味着SELECT s.name FROM student s WHERE s.subject in (1,2,3,4,5); 对它处理的SQL语句更严格,但我找不到强加的限制。我想验证允许用户将任意查询字符串传递给程序是否安全,并保证只有数据库会受到影响。

0 个答案:

没有答案