zoukankan      html  css  js  c++  java
  • Spider -- 数据持久化 之 MySQL

    • 1、在数据库中建库建表

    # 连接到mysql数据库
    mysql -h127.0.0.1 -uroot -p123456
    # 建库建表
    create database maoyandb charset utf8;
    use maoyandb;
    create table filmtab(
    name varchar(100),
    star varchar(300),
    time varchar(50)
    )charset=utf8;
    • 2、回顾pymysql基本使用

    import pymysql
    ​
    # 创建2个对象
    db = pymysql.connect('localhost','root','123456','maoyandb',charset='utf8')
    cursor = db.cursor()
    ​
    # 执行SQL命令并提交到数据库执行
    # execute()方法第二个参数为列表传参补位
    ins = 'insert into filmtab values(%s,%s,%s)'
    cursor.execute(ins,['霸王别姬','张国荣','1993'])
    db.commit()
    ​
    # 关闭
    cursor.close()
    db.close()
    • 来试试高效的executemany()方法

    import pymysql
    ​
    # 创建2个对象
    db = pymysql.connect('localhost','root','123456','maoyandb',charset='utf8')
    cursor = db.cursor()
    ​
    # 抓取的数据
    film_list = [('月光宝盒','周星驰','1994'),('大圣娶亲','周星驰','1994')]
    ​
    # 执行SQL命令并提交到数据库执行
    # execute()方法第二个参数为列表传参补位
    cursor.executemany('insert into filmtab values(%s,%s,%s)',film_list)
    db.commit()
    ​
    # 关闭
    cursor.close()
    db.close()
    • 3、将电影信息存入MySQL数据库(尽量使用executemany方法)

    # mysql - executemany([(),(),()])
    def write_html(self, film_list):
      L = []
      ins = 'insert into filmtab values(%s,%s,%s)'
      for film in film_list:
        t = (
          film[0].strip(),
          film[1].strip(),
          film[2].strip()[5:15]
        )
        L.append(t)
    ​
        self.cursor.executemany(ins, L)
        # 千万别忘了提交到数据库执行
        self.db.commit()
    • 4、做个SQL查询

    1、查询20年以前的电影的名字和上映时间
      select name,time from filmtab where time<(now()-interval 20 year);
    2、查询1990-2000年的电影名字和上映时间
      select name,time from filmtab where time>='1990-01-01' and time<='2000-12-31';

     

  • 相关阅读:
    ng -v 不是内部或外部命令
    更改package.js后重新加载
    表格添加滚动条
    eclispse指针变成十字型
    清除输入框缓存数据
    用cd 命令进入和退出D盘文件夹的操作步骤。
    npm ERR! cb() never called! npm ERR! This is an error with npm itself. Pleas
    离开电脑时锁定电脑
    slice
    golang之字符串
  • 原文地址:https://www.cnblogs.com/gengyufei/p/12643025.html
Copyright © 2011-2022 走看看