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。

相关文章
相关标签/搜索