python 數據庫的方法封裝


#coding:utf-8

import MySQLdb


def get_mysql_data(sql,data=None):
    '''
    sql: sql語句
    select開頭,查詢單條語句
    SELECT開頭,查詢多條語句
    
    配置文件里要提前定義一個字典,字典內容如下
    MySQL_CONFIG = {
    'HOST':'xxxxxxx',#數據庫ip地址
    "PORT" : 3306,#端口號
    "USER" :'xxxxxxx',#用戶
    "PASSWORD": 'xxxxxxx',#密碼
    "DB" : 'xxxxxxx'#數據庫
}
    '''
    try:
        #捕捉mysql連接異常
        conn = MySQLdb.connect(host=MySQL_CONFIG['HOST'], port=MySQL_CONFIG['PORT'],
                               user=MySQL_CONFIG['USER'], passwd=MySQL_CONFIG['PASSWORD'],
                               db=MySQL_CONFIG['DB'], charset='utf8'
                               )
    except Exception as e:
        print('mysql連接失敗'),e
    else:
        cursor = conn.cursor(cursorclass=MySQLdb.cursors.DictCursor) #創建游標
        try:
            #捕捉sql錯誤異常
            cursor.execute(sql,data)#這樣執行sql是為了防止sql注入
        except Exception as e:
            print('sql執行失敗,請檢查sql!')
            return 'sql_error'
        else:

            conn.commit() #如果sql執行成功的話,提交一下
            if sql[:6]=='select':#如果是select語句,讀取單條數據
                return cursor.fetchone()
            elif sql[:6]=='SELECT':  #如果是SELECT語句,讀取全部數據
                return cursor.fetchall()
            else:
                return cursor.lastrowid#如果不是select語句的話,返回自增長id
        finally:#不管sql執行成功沒執行成功,都關閉連接
            cursor.close()
            conn.close()

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM