python中对mysql数据库的操作

之前文章中介绍了mysql在自己的控制台下的操作,但是我们之所以使用数据库当然是为了我们编程工作的喽!这里我将介绍python连接mysql的相关操作。

一、连接操作

IDE的选择,我选用的是pycharm,需要用到的库,pymysql,aconada命令下载:conda install pymysql,pip命令下载:pip install pymysql,之所以不用其他的连接库是因为会出现一些莫名其妙的问题,解决起来比较麻烦,可能一开始没什么问题,但是后面的问题会越来越多。因此我这里使用pymysql库进行数据库的连接操作:

import pymysql
conn = pymysql.connect('localhost','用户名','密码','数据库名')
cursor = conn.cursor()

解释一点参数的意思,第一个参数是连接的ip,本机连接的话,localhost,或者127.0.0.1或都是可以的,如果需要连接到远程服务器的数据库,那么这里填写的即使远程服务器的ip地址,第二个参数是你的用户名,默认情况下是root,密码就是安装数据库的时候设置的密码,最后一个参数是数据库的名字,比如之前文章中的student。cursor是游标,可以简单的理解游标为指向结果集记录的指针,利用游标可以把返回它当前指向 的行记录(只能返回一行记录)。如果要返回多行,那么需要不断滚动游标,把想要的数据查询一遍。用户可以操作游标所在位置行的记录。

二、操作数据库

查询操作

比如有一张表名为typesim,其中有字段id,movie1,movie2,sim,现在我需要取出所有sim>=0.1的movie1和movie2供我使用,那么怎么做呢?具体操作代码如下:

sql = "select movie1,movie2 from typesim where sim>=0.1"
cursor.execute(sql)
movie_lists = cursor.fetchall()

解释一下代码的意思,第一行编写sql语句,不懂的小伙伴可以去看我博客mysql的简单命令,第二行代码的意思是执行这个sql语句,第三行代码的意思是将所有符合条件的数据放在movie_lists里面,这个movie_lists是一个列表,当我们需要取出每一对数据的时候就需要对movie_lists进行遍历,代码如下:

for movie_list in movie_lists:
    movie1_id = movie_list[0]
    movie2_id = movie_list[1]

这样我们在movie1_id里面就是一个movie1的数据,movie2_id就是跟movie1对应movie2的一个数据,具体想怎么操作还是看自己的需求了。当然,这里只是给出简单的操作,操作数据库的方法在这里都是同样的步骤,你要知道,当你能把数据库里面的数据取出来随便你使用的时候,那是多么方便的一件事情,在算法的编写方面,以及一些数据隐藏信息的挖掘方面会带来多大的便利呢?

更新操作

这个其实用的也是比较多的,主要用在当我们只需要对表中的一列数据进行多次操作的时候,比如我们对上面表中的sim数据需要进行更新,那么代码如下:

sql = 'update typesim set sim=%d where movie1=%d and movie2=%d' % (similarity,i,j)
cursor.execute(sql)
conn.commit()

解释一下代码的含义,第一行是mysql的语法,其中%d是占位符,可以理解为用后面括号里面的数据代替他们,其中similarity,i,j为前面代码给出的数据,然后我们使用execute去执行这段代码,不同于查询语句的是,我们需要对数据进行提交到数据库的操作,因此第三行代码conn.commit()就是将数据提交到mysql数据库。

插入操作

这里其实和更新操作差不多,直接上代码:

sql = 'insert into typesim(movie1,movie2,sim) values(%d,%d,%d)' % (i,j,similarity)
cursor.execute(sql)
conm.commit()

mysql简单语法操作不懂的小伙伴可以去看看我的mysql简单命令,足够大家用了。


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 1990858822@qq.com

文章标题:python中对mysql数据库的操作

本文作者:XIAOK Z

发布时间:2019-09-01, 00:09:46

最后更新:2019-09-01, 00:53:58

原始链接:http://yoursite.com/2019/09/01/python中对mysql数据库的操作/

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。

目录
×

喜欢就点赞,疼爱就打赏