温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

通过Python使用MySQL

发布时间:2021-06-22 15:35:23 来源:亿速云 阅读:161 作者:chen 栏目:编程语言

本篇内容主要讲解“通过Python使用MySQL”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“通过Python使用MySQL”吧!

前提:这里默认大家已经安装好mysql。

01Mysql简介

mysql是关系型数据库,支持大型的数据库,可以处理拥有上千万条记录的大型数据库。通过爬虫采集的数据集存储到mysql后,可以借助mysql的关联查询将相关的数据一步取出。具体的作用这里就不赘述了,下面开始进入实际操作。

1.安装pymysql

通过下面这个命令进行安装

pip install pymysql

pymysql库:Python3链接mysql

备注:

ps:MYSQLdb只适用于python2.x

python3不支持MYSQLdb,取而代之的是pymysql

运行会报:ImportError:No module named 'MYSQLdb'

2.python连接mysql

import pymysql as pmq #connect(ip.user,password,dbname) con = pmq.connect('localhost','root','123456','python_chenge') #操作游标 cur = con.cursor()

localhost是本机ip,这里用localhost表示是当前本机,否则将localhost改为对应的数据库ip。

root是数据库用户名,123456是数据库密码,python_chenge是数据库名。

通过Python使用MySQL

图上的数据库python_chenge已经建立好(建好之后,才能用上面代码去连接),建好之后,当前是没有表的,现在开始用Python进行建表,插入、查询,修改,删除等操作(结合爬虫去讲解)

02建表

在存储之前,先通过python创建表,字段有四个(一个主键+电影名称,链接,评分)

# 创建 movie 表 movie_sql= '''         create table movie(             id int AUTO_INCREMENT  primary key not null,             title varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci  not null,             url varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci  not null,             rate float  not null         ) ''' # 执行sql语句 cur.execute(movie_sql) # 提交到数据库执行 con.commit()

创建表movie,字段分别为(id ,title ,url ,rate ),CHARACTER SET utf8 COLLATE  utf8_general_ci是字符串编码设置为utf8格式

id是主键primary key,int类型,AUTO_INCREMENT自增,非空not null

title,url 是字符串类型varchar(100),同样非空

评分rate 是带小数的数字,所以是float,同样非空

通过Python使用MySQL

03插入数据

爬虫已经采集到数据,python已经建好表,接着可以将采集的数据插入到数据库,这里介绍两种方式

### 插入数据 def insert(title,url,rate):     # 插入数据一     #cur.execute("INSERT INTO movie(title,url,rate) VALUES('"+str(title)+"','"+str(url)+"',"+str(rate)+")")     # 插入数据二     sql = "INSERT INTO movie(title,url,rate) VALUES('"+str(title)+"','"+str(url)+"',"+str(rate)+")"     cur.execute(sql)     # 提交到数据库执行     con.commit()

id是自增的,所以不需要在传值进去。

定义好插入数据库方法后,开始往数据库进行存储

for i in json_data['subjects']:     insert(i['title'],i['url'],i['rate'])

通过Python使用MySQL

04查询

1.查询所有

查询表中所有数据

# 查询 cur.execute('select * from movie') results = cur.fetchall() for row in results:     Id = row[0]     title = row[1]     print("id=%s,title=%s" % (Id, title))

通过Python使用MySQL

2.查询指定的数据

比如查询标题为:唐人街3这一条数据的所有字段

#查询单条 cur.execute('select * from movie where title="唐人街探案3"') results = cur.fetchall() for row in results:     Id = row[0]     title = row[1]     url = row[2]     rate = row[3]     print("id=%s,title=%s,url=%s,rate=%s" % (Id, title,url,rate))

通过Python使用MySQL

05更新修改

更新数据,还是以上面:唐人街3为例,id为7,将唐人街3评分从5.5改为6

### 更新 def update():     sql = "update movie set rate='6' where Id = {0}".format(7)     cur.execute(sql)     con.commit()

通过Python使用MySQL

同时看一下数据库

通过Python使用MySQL

06删除

同样还是以唐人街为例,其id为7,删除的话咱们可以更新id去删除

def delete(Id):     sql = "delete from movie where Id = {0}".format(Id)     cur.execute(sql)     con.commit()

通过Python使用MySQL

删除之后,就没有第7条数据了,说明删除成功

07小结

今天的技术讲解文章就到此结束,主要是将了如何通过python去连接mysql,并进行建表,插入数据,查询,更新修改和删除。

到此,相信大家对“通过Python使用MySQL”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI