擅长:python、mysql、java
<p>您还可以<a href="https://github.com/mkleehammer/pyodbc/wiki/Getting-started#parameters" rel="noreferrer">parameterize</a>语句:</p>
<pre><code>...
cursor.execute("select * from Throughput where DeviceName = ?", data['DeviceName'])
...
</code></pre>
<p>这是一种更好的方法,原因如下:</p>
<ul>
<li>针对SQL注入的保护(无论使用的是参数化的还是动态的SQL,都应始终验证用户输入)</li>
<li>不必担心用单引号转义where子句值,因为参数是分别传递给数据库的</li>
<li>SQL只准备一次,查询的后续执行使用prepared语句而不是重新编译</li>
</ul>