pymysql的使用心得(1)------小细节,注意!

最近一段时间开始使用MySQL,使用的是pymysql库。mysql

其中遇到过一些小问题,值得记录一下,以便从此使用的时候注意到。sql

  1. 表格的创建,代码以下:
cursor.execute("create table %s(id char(100))" % tb_name)# 这样写可能报错

  其中tb_name就是本身定的表格名称,在使用过程当中发现,当表格名称的字符串中带有'-'的时候(如test-abc),会报错,彷佛是'-'在MySQL代码中有特殊意义因此让程序误觉得这是一个命令。一样的,若是表格的名称与代码语句重复,例如表格名称就叫作'table',也可能使程序报错,所以能够将表格的名称用两个`括起来(注意,这个点不是单引号,而是tab建上面的那个小撇)。blog

  修改代码以下:字符串

cursor.execute("create table `%s`(id char(100))" % tb_name)

  2.信息的插入,代码以下:table

cursor.execute(”insert into `%s`(id) values('%s')” % (tb_name,data))# 这种可能出错

  可是我发现,当须要插入的字符串data中含有'(单引号)的时候,程序就会报错,这比较好理解,大概就是由于信息里面的单引号和代码的单引号造成了交叉,让代码变得混乱了,这种方式就只能尽可能让代码中可以区分单引号的,因此我使用了三引号和双引号作区分。修改代码以下:class

cursor.execute('''insert into `%s`(id) values("%s")''' % (tb_name,data))

  3.信息的错误test

  我设置了一个字段为int,这个字段通常状况下都是整数,可是也可能为空值,因此一当这个值为空的时候就报错。程序

  目前的解决办法是将这个字段改成char类型算了。其余方法感受还不如留空。方法

相关文章
相关标签/搜索