python爬虫在数据库上的操作

本次内容分7个部分进行阐述:

1.建立数据库DataBase

2.建立表格table

3.添加(插入)数据 INSERT INFO

4.字典存储

5.数据更新 UPDATA   ***  SET *** WHERE ***

6.删除数据库中的数据 DELETE FROM *** WHERE ***

7.查询数据库中的内容 SELECT * FROM **** WHERE CONDITION

 

1.建立数据库,其代码实例如下(链接电脑mysql数据库,建立游标对象,只想sql语句,关闭链接):

1 import pymysql
2 db = pymysql.connect(host = 'localhost',user = 'root',password = '123456',port = 3306,)
3 cursor = db.cursor()   #建立游标
4 sql = 'CREATE DATABASE spiders DEFAULT CHARACTER SET utf8'
5 cursor.execute(sql)
6 db.close()

2.建立表格table

import pymysql

db = pymysql.connect(host = 'localhost',user = 'root',password = '123456',port = 3306,db = 'spilders')
cursor = db.cursor()
sql = 'CREATE TABLE IF NOT EXISTS students (id VARCHAR(255) NOT NULL ,name VARCHAR(255) NOT NULL ,age INT NOT NULL,PRIMARY KEY(id) )'
cursor.execute(sql)
db.close()

3.添加/(插入)数据

import pymysql
id = '20120001'
user = 'Bob'
age = 20
db = pymysql.connect(host = 'localhost',user = 'root',password = '123456',port = 3306,db = 'spilders')
cursor = db.cursor()
sql = 'INSERT INTO students (id,name,age) VALUES (%s,%s,%s)'
try:
    cursor.execute(sql,(id,user,age))
    db.commit()
except:
    db.rollback()
db.close()

4.字典存储,也可以理解为以字典形式更新数据库里面的表格

import pymysql
data = {
    'id':'20120001',
    'name':'Bob',
    'age':20
}
table = 'students'
keys = ','.join(data.keys())
values = ','.join(['%s']*len(data))
db = pymysql.connect(host = 'localhost',user = 'root',password = '123456',port = 3306,db ='spilders')
cursor = db.cursor()
sql = 'INSERT INTO {table}({keys}) VALUES({values})'.format(table = table,keys = keys,values = values)
try:
    cursor.execute(sql,tuple(','.join(data.values())))
    db.commit()
except:
    db.rollback()
db.close()

5.数据更新

import pymysql

db = pymysql.connect(host = 'localhost',user = 'root',password = '123456',port = 3306,db = 'spilders')
cursor = db.cursor()
sql = 'UPDATE students SET age = %s WHERE name = %s '
try:
    cursor.execute(sql,(25,'Bob'))
    db.commit()
except:
    db.rollback()
db.close()

6.删除数据

import pymysql

db = pymysql.connect(host = 'localhost',user = 'root',password = '123456',port = 3306,db = 'spiders')
cursor = db.cursor()
condition = 'age'>'20'
table = 'students'
sql = 'DELETE FROM {table} WHERE {condition}'.format(table = table,condition = condition)
try:
    cursor.execute(sql)
    db.commit()
except:
    db.rollback()
db.close()

7.查看检查数据

 1 import pymysql
 2 
 3 db = pymysql.connect(host = 'localhost',user = 'root',password = '123456',port = 3306,db = 'spiders')
 4 cursor = db.cursor()
 5 
 6 condition = 'age'>= '20'
 7 sql = 'SELECT * FROM students WHERE age>=20'     #.format(condition = condition)
 8 
 9 try:
10     cursor.execute(sql)
11     print(cursor.rowcount)  #输出数目
12     print(cursor.fetchone())
13     print(cursor.fetchall())
14     for i in cursor.fetchall():
15         print(i)
16 except:
17     print('error')

猜你喜欢

转载自www.cnblogs.com/LambertCao/p/11136773.html