一、安裝mysqlpython
若是是windows系統:登陸https://pypi.python.org/pypi/MySQL-python/1.2.5找到.exe結尾的包,下載安裝就行了,而後配置環境變量便可。mysql
若是是Linux系統,經過下載源碼包進行安裝。sql
二、鏈接mysql數據庫
1 import MySQLdb 2 #鏈接數據庫: 3 # host 數據庫ip 4 # user 鏈接數據庫用戶 5 # passwd 用戶密碼 6 # db 數據庫名字 7 # charset字符集 utf-8 8 # port 數據庫監聽端口 9 10 # conn=MySQLdb.connect(host="101.132.125.136",user="root",passwd="aisirea802311",db="python",charset="utf8") 11 # 規範: 12 def connect_mysql(): 13 db_config={ 14 "host":"101.132.125.136", 15 "user":"root", 16 "passwd":"aisirea820311", 17 "db":"python", 18 "charset":"utf-8" 19 20 } 21 try: 22 aaa=MySQLdb.connect(**db_config) 23 except Exception as e: 24 raise e 25 return aaa
三、mysql事務windows
MySQL 事務主要用於處理操做量大,複雜度高的數據。 事務處理能夠用來維護數據庫的完整性,保證成批的SQL語句要麼所有執行,要麼所有不執行。 通常來講,事務是必須知足4個條件(ACID): Atomicity(原子性)、Consistency(穩定性)、Isolation(隔離性)、Durability(可靠性) 1、事務的原子性:一組事務,要麼成功;要麼撤回。 2、穩定性:有非法數據(外鍵約束之類),事務撤回。 三、隔離性:事務獨立運行。一個事務處理後的結果,影響了其餘事務,那麼其餘事務會撤回。事務的100%隔離,須要犧牲速度。 4、可靠性:軟、硬件崩潰後,InnoDB數據表驅動會利用日誌文件重構修改。可靠性和高速度不可兼得, innodb_flush_log_at_trx_commit選項決定何時吧事務保存到日誌裏。 mysql事務的方法 commit():提交當前事務,若是是支持事務的數據庫執行增刪改後沒有commit則數據庫默認回滾,白操做了 rollback():取消當前事務
四、遊標fetch
1 # 遊標(cursor) 2 # 遊標是系統爲用戶開設的一個數據緩衝區,存放SQL語句的執行結果 3 # 用戶能夠用SQL語句逐一從遊標中獲取記錄,並賦給主變量,交由python進一步處理,一組主變量一次只能存放一條記錄 4 # 僅使用主變量並不能徹底知足SQL語句嚮應用程序輸出數據的要求 5 6 # 經常使用方法: 7 # cursor():建立遊標對象 8 # close():關閉此遊標對象 9 # fetchone():獲得結果集的下一行 10 # fetchmany([size = cursor.arraysize]):獲得結果集的下幾行 11 # fetchall():獲得結果集中剩下的全部行 12 # excute(sql[, args]):執行一個數據庫查詢或命令 13 # executemany (sql, args):執行多個數據庫查詢或命令 14 15 if __name__ == '__main__': 16 aaa = connect_mysql() 17 cus = aaa.cursor() 18 sql = " create table test(id int not null);insert into test(id) values (100);" 19 try: 20 cus.execute(sql) 21 #執行 22 cus.close() 23 aaa.commit() 24 #提交,沒有異常關閉,有異常except 25 except Exception as e: 26 aaa.rollback() 27 print('Error') 28 raise e 29 finally: 30 aaa.close()