python里面链接mysql,写SQL语句,传递变量的问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python里面链接mysql,写SQL语句,传递变量的问题相关的知识,希望对你有一定的参考价值。

query="select task_type from task_type_table where module_name=%(MODULE_NAME)s and task_name=%(TASK_NAME_img)s" % vars()
cursor_fetch.execute(query)
results=cursor_fetch.fetchall()
MODULE_NAME和TASK_NAME_img都是变量的名字,想传递他们的值,怎么写呢,我这种写法报错

query="select task_type from task_type_table where module_name=%s and task_name=%s"
cursor_fetch.execute(query, [var1, var2])
results=cursor_fetch.fetchall()
我这样的sql查询是没问题的
你的出错可能是字符串缺少引号的缘故吧追问

确实是这个问题,如果变量定义为字符串的话,要“‘hello world’”这样,否则数据库还是不会识别

参考技术A query="select task_type from task_type_table where module_name=%(MODULE_NAME)s and task_name=%(TASK_NAME_img)s"
cursor_fetch.execute(query, vars())
results=cursor_fetch.fetchall()
参考技术B 感觉没有错,把报的错误贴出来吧

mysql执行的sql脚本中,注释怎么写?

参考技术A

1.MySQL的SQL语句里面是可以加注释的。例如:"select * from t1"可以写成"/* tag  */select * from t1"。这个tag可以扩展成很多格式,这样在MySQL的日志中就可以看到这个tag。

2."!"后的5位数字代表MySQL版本号,上面这个语句的意思是只有MySQL版本号大于9.0的时候,注释内容才会被执行。由于目前也没有9.0版本,所以注释内容是不会被执行的,但是在LOG日志和慢查询日志里可以看到语句中的tag注释,在show full processlist中也可以看到SQL语句中的注释tag。

3.MySQL服务器包含一些其他SQL DBMS中不具备的扩展。注意,如果使用了它们,将无法把代码移植到其他SQL服务器。在本例中,MySQL服务器能够解析并执行注释中的代码,就像对待其他MySQL语句一样,但其他SQL服务器将忽略这些扩展。

1.MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于Oracle旗下产品。MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面MySQL是最好的 RDBMS 应用软件之一。

2.MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。 MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。

3.MySQL 软件采用了双授权政策,它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。 由于其社区版的性能卓越,搭配PHP和Apache可组成良好的开发环境。

以上是关于python里面链接mysql,写SQL语句,传递变量的问题的主要内容,如果未能解决你的问题,请参考以下文章

mysql批量修改字段动态内容的sql语句怎么写

sql语句写在XML里面是一种框架吗?

SQL里面的UPDATE更新语句数据怎么写?

mysql执行的sql脚本中,注释怎么写?

MySQL主从配置

mysql批量删除,已经获得id,条件是另一个表,不存在的就删除,请问sql语句怎么写?