本文介绍了python操作mysql数据库的知识,从如何安装python连接mysql的pymysql包,到利用python操作查询数据库等做了介绍。
一、下载安装pymysql第三方包
为了利用spyder(python)连接mysql数据库,第一步工作就是要先安装pymysql第三方包,安装方法如下:
1.打开Anaconda Prompt命令窗口,输入pip install pymysql命令,等待执行完成即可。
2.查看pymysql第三方包是否安装成功,输入pip show pymysql即可,出现相应的版本。
二、查看各种数据库和相应数据库下的Tables
这里有两种方法,第一种方法为利用传统的cmd命令窗口进行查看,第二种方法为下载相应的数据库管理系统(例如navicat)进行查询等。
方法一:利用cmd命令窗口进行查看
首先开始搜索cmd–以管理员方式进行打开
然后进行mysql数据库的启动工作(net start mysql)
接着登陆mysql数据库,并输入密码(密码是安装mysql数据库时设定的密码)
然后就可以进行一系列操作了,显示数据库(show databases)
进入某个数据库(例如sudu,这是本人已经创建好的数据库)
然后查看该数据库下的所有tables(这里有students1和teacher两张表)
进行查询数据操作( select * from students1;,记得这里输入封号啊)
方法二:数据库管理系统(例如navicat)进行查询
首先点击navicat中的文件–新建连接,连接名随便起,朱俊名、端口、用户名和密码输入进去
得到如下连接(包含sudu数据库,该数据库中又包含students和teacher两张表)
双击students1表,得到如下图,和方法一结果一样
三、用Spyder(Python)连接Mysql数据库
在Spyder中新建file,然后输入下列代码就可建立Python与Mysql数据库的连接操作。该思想是利用游标(cursor)对数据库进行增删改查等操作。这里要特别注意的是在执行完cursor.execute(sql)和result=cursor.fetchone()时候,要想查询所有的数据记录时,必须再执行一次cursor.execute(sql),然后在执行 result2=cursor.fetchall()时才能保证所有的数据都取得的完整,否则则会出现只将剩余数据取得。
正常结果:
非正常结果(未加入cursor.execute(sql)执行):
#python操作mysql数据库
import pymysql.cursors
import pandas as pd
#连接Mysql数据库
connection=pymysql.connect(host='localhost',port=3306,user='root',password='Wk13620651600223',db='sudu',charset='utf8mb4',cursorclass=pymysql.cursors.DictCursor)
#通过cursor创建游标
cursor=connection.cursor()
#创建sql语句,并执行
sql="select name from students1"
cursor.execute(sql)
#查询数据库单条语句
result=cursor.fetchone()
print(result)
#创建sql语句,并执行
#通过cursor创建游标
sql="select name from students1"
cursor.execute(sql)
#查询数据库多条数据
result2=cursor.fetchall()
result2=pd.DataFrame(result2)