使用python3连接mysql数据库

最近对Mysql数据库进行操作时,一直在使用navi工具,现在我想用python直接对Mysql数据库进行操作。针对不同的数据库,python提供了许多专用的模块,其中对Mysql的是,MySQLdb模块(python2)以及pyMysql(python3),查阅资料学习后,整理如下:

python3使用pyMysql连接MySQL

不同于python2,使用MySQLdb模块操作MySQL数据库,python3使用的是pyMysql模块,在不知道这类情况前,我由于只知道MySQLdb模块,然后在python3中安装MySQLdb模块失败,在不明所以的情况下,查阅资料得知了pyMysql的存在,引以为戒。
在window的dos命令窗口直接执行pip install pyMysql 即可(前提是已经安装了pip,并且电脑环境变量有pip的执行位置),如下:
设置环境变量:
在这里插入图片描述
执行安装:
在这里插入图片描述
在python交互式界面进行验证:
在这里插入图片描述
pyMysql模块安装成功

使用pymysql连接mysql

使用python连接数据库都离不开以下的步骤:

首先,所有操作之前要先连接到数据库

import pymysql
try:
    #host:数据库的地址,user:登陆的用户,passwd:登陆密码,db:连接的数据库名
    conn = pymysql.connect(host = 'localhost',user='root',passwd = '123456',db = 'test')
except Exception as e:
    print(e)
    sys.exit()

要在python对数据库进行操作,必须获取到连接的数据库对象的游标cursor,简单来说,游标是数据库提供给我们使用数据库命令的接口,我们只有通过游标来传递我们要执行的命令,数据库才能接受。如下:

cursor = conn.cursor()

#表ydr是数据库test已经有的表,col内容:id,name
sql = "INSERT INTO ydr(id,name) VALUES (1,'张三')"

#使用execute执行命令
cursor.execute(sql)

#插入多条数据
sql = "INSERT INTO ydr(id,name) VALUES (%s,%s)"
values = ((2,'李四'),(3,'王五'))
cursor.executemany(sql,values)

要注意的是,以上的命令并没有在数据库真正执行,只是在缓存中预执行,要在数据库真正执行,需要使用commit将命令提交:

conn.commit()

而数据库的查询命令可直接获取结果,无需commit

sql= "select * from ydr"
cursor.execute(sql)
data = cursor.fetchall() #fetchall获取缓存全部的数据,对应还有fetchone获取一行数据

可以将查询的结果输出:

if data:
    for x in data:
        print(x[0],x[1])
    cursor.close()  #最后将连接关闭
    conn.close()

代码执行结果:
在这里插入图片描述
在数据库查看数据是否录入:
在这里插入图片描述
以上读取数据库的流程适用于所有基于python去读取的数据库。

猜你喜欢

转载自blog.csdn.net/ACID_lv_ing/article/details/87623191
今日推荐