用Python进行MySQL操作

本文最后更新于2015年12月21日,已超过 1 年没有更新,如果文章内容失效,还请反馈给我,谢谢!

=Start=

缘由:

最近在复习Python的相关知识时碰到的老问题的新解法,觉得可以记录一下。

参考解答:
Python Database API
MySQLdb的安装(在MySQL Server为Percona的情况下)

MySQL官方也推出了Python版的Connector

=EOF=

声明: 除非注明,ixyzero.com文章均为原创,转载请以链接形式标明本文地址,谢谢!
https://ixyzero.com/blog/archives/2603.html

《用Python进行MySQL操作》上有7条评论

  1. 在进行敏感操作之前,一个比较好的习惯就是——提前备份,这也同样适用于MySQL操作。
    在测试过程中谁也说不清楚可能会发生什么情况,所以,先备份以防万一总是没错的,下面记录一下如何备份MySQL数据库中的表内容及索引:

    #复制内容、索引
    CREATE TABLE new_table LIKE old_table;
    INSERT new_table SELECT * FROM old_table;
    #只复制内容,不复制索引、触发器
    CREATE TABLE new_table AS SELECT * FROM old_table;

    http://stackoverflow.com/questions/3280006/duplicating-a-mysql-table-indexes-and-data

  2. 在用MySQLdb的时候,可能会出现「No database selected」的错误,处理办法有2个:

    OperationalError: (1046, 'No database selected')

    方法一:
    如果不存在跨数据库操作的话,可以在connect的时候就指定好数据库名称(db=xxx),比如:
    MySQLdb.connect(host="localhost", user="joebob", passwd="moonpie", db="thangs")

    方法二:
    在每一个要操作的table名称前面添加上所在数据库的名称,避免出现上述报错。

    http://mysql-python.sourceforge.net/MySQLdb.html
    https://foofish.net/python-mysql.html

  3. Python:出现ValueError: unsupported format character的解决办法
    https://www.polarxiong.com/archives/Python-%E5%87%BA%E7%8E%B0ValueError-unsupported-format-character%E7%9A%84%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95.html

    出现这种错误一般是在Python中写其他语言的代码,比如MySQL中:
    db.execute("SELECT DATE_FORMAT(snapdate,'%Y-%m-%d') AS date FROM table1)

    此时,%在字符串中作为格式化字符串的关键字,当其后为诸如n、c、s时进行正常转义;而出现上述代码时即返回错误。

    解决方法:
    一、使用%%,即表示非关键字的%(推荐);
    二、使用\%,有些情况下适用。

发表评论

电子邮件地址不会被公开。 必填项已用*标注