以前写注释的时候常用三个单引号,最近工作经常要写多行的sql,特别是在pymysql中如果使用单引号,转义将极其麻烦:
看两个栗子
pymysql单引号:
'SELECT * FROM tmp_table where tmp_type in ( \'a\' , \'b\', \'c\')'
当sql到几十行,里面混杂模糊查询、正则时就很麻烦了(而且单引号sql变量不好写可能会报错)
所以多行sql还是要使用三单引号
'''(sql = SELECT * FROM tmp_tabl where tmp_type in ('a','b','c') and id = '@id'
第二行xxx and id = '@id'
第三行xxx and id ='@id'
#用replace批量替换变量
''').replace('@id', my_id)