zoukankan      html  css  js  c++  java
  • python基础总结篇——使用Mysql

    python操作Mysql,很方便,使用的MySQLdb的库,基本的操作如下:

    查询:

     1 try:
     2     conn = MySQLdb.connect(host=self.ip, user=self.username,passwd=self.password, db=self.dbname, port=self.port)
     3     cur = conn.cursor()
     4     cur.execute(sql)
     5     rows = cur.fetchall()
     6     data = rows
     7 except MySQLdb.Error, e:
     8     print str(e)
     9     print "Connet mysql db error..."
    10     sys.exit()

    插入数据:

    try:
        conn = MySQLdb.connect(host=self.ip, user=self.username, passwd=self.password, db=self.dbname, port=self.port)
        cur = conn.cursor()
        cur.execute(sql, value)
        conn.commit()
        conn.close()
        cur.close()
    except MySQLdb.Error, e:
        print str(e)
        print "Execute mysql db error..."
        sys.exit()

    使用过程中遇到了编码的问题,使用utf-8解决编码问题:

    conn.set_character_set('utf8')
    cur.execute('SET NAMES utf8;')
    cur.execute('SET CHARACTER SET utf8;')
    cur.execute('SET character_set_connection=utf8;')

    还有遇到反斜杠的问题,mysql默认把反斜杠转义了,我的解决方法是将反斜杠换成双反斜杠:

    datapath = datapath.replace('\', '\\')

    mysql语句需要格式化字符串,查询的sql字符串需要用%来代表变量占位,不过python好像必须要用%s

    executemany还支持多条数据同时插入,不过我没有使用这个,因为在外面加循环处理也很方便。

  • 相关阅读:
    poj 2388
    BUAA 1489
    poj 2524
    poj 2109
    poj 2503 Babelfish
    poj All in All
    poj 1611 The Suspects
    poj 2299
    poj 1328
    hdu 1008 Elevator
  • 原文地址:https://www.cnblogs.com/crazymanpj/p/5771129.html
Copyright © 2011-2022 走看看