1. 程式人生 > >python爬蟲--連接數據庫1

python爬蟲--連接數據庫1

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