1. 程式人生 > >Python 連接數據庫

Python 連接數據庫

password Coding OS base AR charset cep cursor result

python2

  • 使用MySQLdb即可
  • 代碼如下

    class sql(object):
        def __init__(self):
            try:
                self.conn = MySQLdb.connect(
                    host=DB_IP,
                    user=DB_USER,
                    passwd=DB_PASSWORD,
                    db=DB_NAME,
                )
                self.conn.set_character_set(‘utf8‘
    ) self.cur = self.conn.cursor() self.cur.execute(‘SET NAMES utf8;‘) self.cur.execute(‘SET CHARACTER SET utf8;‘) self.cur.execute(‘SET character_set_connection=utf8;‘) except Exception as e: raise e # 返回二維元組,每一條記錄作為一個元組,所有的記錄再組成一個元組
    def executeQuery(self, sqlcode): try: self.cur.execute(sqlcode) resultSet = self.cur.fetchall() self.conn.commit() return resultSet except Exception as e: self.conn.rollback() raise e def executeUpdate(self
    , sqlCode): try: self.cur.execute(sqlCode) self.conn.commit() except Exception as e: self.conn.rollback() raise e def __del__(self): self.conn.close()

    python3

  • 使用pymysql

    db=pymysql.connect(host="192.168.1.102",user="root",password="123456",database="fwwb",charset=‘utf8‘)
    cursor = db.cursor()
    當參數比較多時要指定參數名,不然會報錯
  • 當查詢結果中含有中文時要指定charset參數,不然會出現亂碼
  • 將結果寫入文檔時open函數要添加encoding參數指定編碼
  • 查詢

    results = cursor.fetchall() #返回所有結果
    data = cursor.fetchone() #返回單條數據

Python 連接數據庫