python爬蟲--連接數據庫1
阿新 • • 發佈:2017-10-05
client mit insert als isolation 環境 操作 rman llb
1、連接mysql
下載mysql,到官網下載。一路安裝,設置好帳號密碼。
下載mysql的編譯環境,Navicat;
在Navicat創建數據庫和表;
create table urls ( id int not null auto_increment, url varchar(1000) not null, content varchar(4000) not null, created_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP, primary key(id) )
python鏈接mysql,
安裝庫,pip install mysqlclient。
用pyrhon在mysql中創建的數據庫leon中的urls表格中插入一條數據
import MySQLdb conn= MySQLdb.connect(host=‘localhost‘ , user=‘root‘, passwd=‘5407‘, db =‘leon‘) cur = conn.cursor() cur.execute("INSERT INTO urls (url, content) VALUES (‘www.baidu.com‘, ‘This is content.‘)") cur.close() conn.commit() conn.close()
結果顯示:
host=‘localhost‘ , user=‘root‘, passwd=‘5407‘, db =‘leon‘,是鏈接名稱,用戶名,密碼,數據庫名稱
刪除操作:
import MySQLdb # 打開數據庫連接 db = MySQLdb.connect("localhost","testuser","test123","TESTDB" ) # 使用cursor()方法獲取操作遊標 cursor = db.cursor() # SQL 刪除語句 sql = "DELETE FROM EMPLOYEE WHERE AGE > ‘%d‘" % (20) try: # 執行SQL語句 cursor.execute(sql) # 提交修改 db.commit() except: # 發生錯誤時回滾 db.rollback() # 關閉連接 db.close()
執行事務
事務機制可以確保數據一致性。
事務應該具有4個屬性:原子性、一致性、隔離性、持久性。這四個屬性通常稱為ACID特性。
- 原子性(atomicity)。一個事務是一個不可分割的工作單位,事務中包括的諸操作要麽都做,要麽都不做。
- 一致性(consistency)。事務必須是使數據庫從一個一致性狀態變到另一個一致性狀態。一致性與原子性是密切相關的。
- 隔離性(isolation)。一個事務的執行不能被其他事務幹擾。即一個事務內部的操作及使用的數據對並發的其他事務是隔離的,並發執行的各個事務之間不能互相幹擾。
- 持久性(durability)。持續性也稱永久性(permanence),指一個事務一旦提交,它對數據庫中數據的改變就應該是永久性的。接下來的其他操作或故障不應該對其有任何影響。
Python DB API 2.0 的事務提供了兩個方法 commit 或 rollback。
python爬蟲--連接數據庫1