网络爬虫__数据库mysql的使用详解

对于爬虫程序来说,一个关键步骤就是将爬到的数据储存起来,下面讲解一下MySQL数据库的使用方法,MySQL是一种关系型数据库,它是一款开源的软件,适合于个人使用。下载并安装后,打开workbench页面,即可开始使用数据库。

1. 需要先创建一个数据库(下面我通过创建一个叫conferenceData的数据库为例子)

create database conferenceData;

2. 创建好数据库后,需要用 use conferenceData来表明,我们将使用这个数据库,注意每当我们使用时,这句话必须出现。

3. 前面我们只创建好了数据库,就好比一本书,拥有了封面,但是具体的文字,还是要写在新的页面里,所以我们还需要页面,而这个页面就是我们常说的table,table里面有很多列,每一列有一个名称,那么对应的数据就放在这里,这就是关系型数据库的显著特征。

create table pages(id bigint(7) NOT NULL auto_increment,//not null 表示不能为空
title varchar(200),
content varchar(10000),
created_time timestamp default current_timestamp,
primary key(id)
);//给每列定义一个类型,并且指明大小,如bigint(7)表示最大可以放7位数字,varchar(200)表示可以放200个汉字或字符,最后必须指明主键,便于使用。

4. 使用describe pages语句,即可查看表格的结构,如下图:

5. 通过上面的步骤,你已经成功的创建了一个数据库,下面来讲解,如何使用它:

(1):插入数据,

insert into pages(title,content) values("Test page title","This is some test page content,it can be up to 10000 
characters long");//因为id 和create_time 有默认值,所以我们不需要去输入他们的值,系统会自动生成,当然你也可以override(覆盖)他们,当然最好还是不要去覆盖,让系统自己生成

(2):select 语句的使用:

select * from pages where title like "%t%";// * 号在这里表示所有的意思,也就是所有pages里的列元素,因为title是字符串类型,所以使用like 来进行比较
select * from pages where id=1;
select id title from pages where content like "%test%" //%%好里面放入字符串

(3)删除语句:

delete from pages where id=1; 这里最好不要用*号,因为这可能会导致你将一些不想删除的数据删除掉。

(4)update

update pages set title="a new title",content="new" where id=1;

这里主要运用了set ,只需将新的内容写在你想改的地方就行。

6. 用python连接mysql数据库

(1)先用命令pip install pymysql,下载包。下载结束后,用import pymysql导入即可使用

(2)在python中,主要运用到两个游标,conn,cur.conn是用来连接数据库的游标,cur是用来使用数据库中的一些函数

对应于sql里的代码,在Python里,只需要把对应的代码放在execute()函数里,即可执行。下面看实例代码:

import pymysql
conn = pymysql.connect(host="localhost", user="root", passwd="你是数据库密码", db="你所使用的数据库名称", charset="utf8")
cur = conn.cursor()
cur.execute("USE conferenceData")
cur.execute("SELECT * FROM pages WHERE id=1")
print(cur.fetchone()) # fetchone()函数返回一个或多个符合条件的元组
cur.close()
conn.close() #最后一定要记得关闭连接哦

7. 更改数据库编码类型

有时候,我们爬的数据包括中文和英文,并且数据非常大,我们用一般的varchar,编码为默认的gbk时,Python运行会报错,

error:1366, “Incorrect string value: ‘\xF0\x9F\x98\x81’

这时我们就需要去重新更改编码类型,下面给出更改表单(table),和表单里的某一项的编码格式的模板:

alter table 'test' default charset utf8mb4;//test为表单名称,utf8mb4为设置的编码格式
alter table 'test' change 'content' 'content' longtext charset utf8mb4;//content 为test里面的一项,longtext数据类型(可以用来存放大量文本)

因为后面修改字符类型太麻烦,所以最好在创建数据库和数据表的时候就指定编码类型,这样就不会出问题了。

创建数据库并指定编码和校验集 
create database test character set utf8 collate utf8_general_ci; 

创建表并指定编码和校验集 
create table test character set utf8 collate utf8_general_ci
 

该博客为原创博客,可以转载但需要注明出处,谢谢合作!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值