将Python爬取到的数据保存到Mysql数据库

大家好!我是冈坂日川(嘘🤫),今天给大家分享一下如何将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 中查看
大家根据自己的实际情况更改代码噢~
实现情况如下哈~~

在这里插入图片描述

如有错误,请大佬指正!!
小白有问题也可以问我噢~尽能力回答!

  • 32
    点赞
  • 163
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值