python2.7 + MySQL 拼接SQL语句的技巧 (处理unicode,时间)

背景

在 Python2.7 中,可以使用单引号,双引号,三引号表示字符串,当字符串的值为中文时,则会默认转换成unicode。但是在MYSQL中,使用SQL语句时,直接用unicode作为列的查询条件 (例如: name = '\uxxx\uyyy\uzzz\urrr')时,无法匹配到数据。

 

方案

首先,SQL使用三引号标识

sql = '''SELECT * FROM %s ;'''

 

cursor.execute(sql %(table_name,))

其次,时间处理, 使用 '%s'

t_format = '%Y-%m-%d %h:%i:%s'

 

sql = '''SELECT name, DATE_FORMAT(create_time, '%s') as time_stamp, %s FROM %s WHERE create_time BETWEEN '%s' AND '%s' ;'''

 

cursor.execute(sql %(t_format, table_name,begin_time, end_time))

最后,处理中文, 使用 name = '%s'

sql = '''SELECT name, type FROM table_name WHERE name = '%s';'''

 

cursor.execute(sql %(name,))

 

posted @   TonyZhang24  阅读(369)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
历史上的今天:
2017-02-06 (转)编写 DockerFile
点击右上角即可分享
微信分享提示