大家好!我是冈坂日川(嘘🤫),今天给大家分享一下如何将Python爬取到的数据保存到Mysql数据库中。可能小白们会担心学不会,放心!很简单的,今天我从数据库创建开始讲起,你一定可以成功的!哈哈哈加油!
- 数据库
Mysql sql基本操作
1.show databases; 查看所有的数据库
2.create database test; 创建一个叫test的数据库
3.drop database test;删除一个叫test的数据库
4.use test;选中库 ,在建表之前必须要选择数据库
5.show tables; 在选中的数据库之中查看所有的表
6.create table 表名 (字段1 类型, 字段2 类型);
7.desc 表名;查看所在的表的字段
8.drop table 表名; 删除表
9.show create database 库名;查看创建库的详细信息
10.show create table 表名; 查看创建表的详细信息
采用上述语句 在
cmd
命令行中新建一个数据库
- 打开
Pycharm
DBHOST = 'localhost'
DBUSER = 'root'
DBPASS = '' #我没有设置密码 所以密码应该为空才能对
DBNAME = 'activities' #数据库名字
将定义好的本机参数传递给
建表
函数jianbiao()
#创建数据表
def jianbiao():
try:
db = pymysql.connect(DBHOST, DBUSER, DBPASS, DBNAME)
cur = db.cursor() #声明游标
cur.execute("DROP TABLE IF EXISTS activities") #创建数据表 名为比赛 若存在则删除
sql = 'CREATE TABLE activities(name CHAR(100) NOT NULL ,adress CHAR (100)'
cur.execute(sql)
print("数据表创建成功!")
except pymysql.Error as e:
print("数据表创建失败!"+str(e))
建表成功 有两列 一列为
name
,另一列为adress
接下来将数据插入数据库
我这里采用的是将爬取到的数据放在二维列表datalist
里面,然后将数据传递给插入函数insert()
#在数据表中插入数据
def insert (datalist):
try:
db = pymysql.connect(DBHOST, DBUSER, DBPASS, DBNAME)
cur = db.cursor() # 声明游标
for data in datalist :
data = tuple(data) #列表转元祖 我老是搞错 一定要记得
sql = 'INSERT INTO activities(name,adress) VALUE (%s,%s)' # 表名 字段名 插入的值
# print(sql) #打印从元祖中获取到的东西
value = (data[0],data[1]) #传递元组的值 status 初始化0
cur.execute(sql,value) # 将数据进行提交
db.commit() # 数据库的提交
print("数据插入成功!")
except pymysql.Error as e:
print("数据插入失败"+str(e))
db.rollback() #数据插入失败返回原先状态
到这里数据就插入成功了
可以到Navicat
中查看
大家根据自己的实际情况更改代码噢~
实现情况如下哈~~
如有错误,请大佬指正!!
小白有问题也可以问我噢~尽能力回答!