python爬蟲--鏈接數據庫1

一、鏈接mysqlpython

下載mysql,到官網下載。一路安裝,設置好賬號密碼。mysql

下載mysql的編譯環境,Navicat;sql

在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。atom

用pyrhon在mysql中建立的數據庫leon中的urls表格中插入一條數據url

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()

 

結果顯示:spa

 

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()

  

執行事務

事務機制能夠確保數據一致性。code

事務應該具備4個屬性:原子性、一致性、隔離性、持久性。這四個屬性一般稱爲ACID特性。blog

  • 原子性(atomicity)。一個事務是一個不可分割的工做單位,事務中包括的諸操做要麼都作,要麼都不作。
  • 一致性(consistency)。事務必須是使數據庫從一個一致性狀態變到另外一個一致性狀態。一致性與原子性是密切相關的。
  • 隔離性(isolation)。一個事務的執行不能被其餘事務干擾。即一個事務內部的操做及使用的數據對併發的其餘事務是隔離的,併發執行的各個事務之間不能互相干擾。
  • 持久性(durability)。持續性也稱永久性(permanence),指一個事務一旦提交,它對數據庫中數據的改變就應該是永久性的。接下來的其餘操做或故障不該該對其有任何影響。

Python DB API 2.0 的事務提供了兩個方法 commit 或 rollback。

相關文章
相關標籤/搜索