数据入库也是爬虫的基本操作,这里我们首先了解一下MySQL数据库的基本操作
首先请确保已经安装了MySQL数据库,在这里推荐一下Navicat,很好用,安装及破解很简单,百度一下你就知道。
请确保已经安装了pymysql
一:MySQL数据库连接
我已经建了一个pymysql_demo的数据库,并创建了student表,因为之前有过操作,所以把表清空了。
推荐大家用Navicat是因为它简单易操作,不用sql语句去建库建表
然后我们来连接数据库
import pymysql
#连接数据库
db = pymysql.connect(host = "localhost" , user = "root" , password = "123",
database="pymysql_demo",port=3306)
#获取游标
cursor = db.cursor()
下面的增删改查操作将基于此段代码
二:数据基本操作,增删改查
1,增
第一种方式:
#编写sql语句
sql = """
insert into student(num, name, age, class) value(2, "李四", 19, "软工17")
"""
cursor.execute(sql)
#提交执行,在插入和删除时必须有该语句
db.commit()
#关闭数据库
db.close()
这样,我们完成了第一条数据插入
第二种:
#当设置主键为递增时,将主键填为空,sql数据库会自动递增
sql = """
insert into student(num, name, age, class) value(null, "王五", 17, "电信18")
"""
cursor.execute(sql)
#提交执行,在插入和删除时必须有该语句
db.commit()
#关闭数据库
db.close()
这里需要注意一下,因为我的表不是新建的,所以这里递增包含以前的数据,而mysql的主键是唯一的,因此这里不是3
这样,我们完成了第二条插入
第三种:
# 自输入
sql = """
insert into student(num, name, age, class) value(null, %s, %s, %s)
"""
name = "赵六"
age = 17
cla = "计科17"
cursor.execute(sql,(name , age,cla))
db.commit()
#关闭数据库
db.close()
2,查
第一种,fetchone,查找一条:
sql = """
select * from student where num=2
"""
#执行sql语句
cursor.execute(sql)
#查找一条
result = cursor.fetchone()
print(result)
fetchone查找多条
sql = """
select * from student
"""
cursor.execute(sql)
while True:
result = cursor.fetchone()
if result:
print(result)
else:
break
2,fetchall查找全部
sql = """
select * from student
"""
cursor.execute(sql)
results = cursor.fetchall()
for result in results:
print(result)
3,fetchmany查找多条
sql = """
select * from student
"""
cursor.execute(sql)
results = cursor.fetchmany(2)
for result in results:
print(result)
它会按顺序查找需要的条数
3,删
sql = """
delete from student where num=2
"""
cursor.execute(sql)
# 提交执行,在插入和删除时必须有该语句
db.commit()
#关闭数据库
db.close()
这样我们就删除了num为2的数据,也可以根据其他的信息来删除
4,改
sql = """
update student set name="王五" where num=7
"""
cursor.execute(sql)
# 提交执行,在插入和删除时必须有该语句
db.commit()
#关闭数据库
db.close()
这样,我们就把num为7的name改成了王五。
以上,就是MySQL数据库在pycharm上最基本的操作。