python爬蟲--連接數據庫1


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。



 


免責聲明!

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



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