python操作mysql

最近在了解python,前几天和哥们讨论一下实际遇到的问题,觉得需要python+mysql,所以就折腾一下。

https://github.com/PyMySQL/PyMySQL
我们用到的是pymysql库,先看一下安装要求

1
2
3
4
5
6
Python -- one of the following:  
CPython : 2.7 and >= 3.5
PyPy : Latest version
MySQL Server -- one of the following:
MySQL >= 5.5
MariaDB >= 5.5

刚好都满足,那就开始安装。

1
2
3
4
5
官方介绍安装方法(pip安装)  
python3 -m pip install PyMySQL
我的kali配置的是anaconda+pycharm/vscode,所以我的安装方式是
conda serach pymysql //先搜索pymysql库
conda install pymysql //安装pymysql库

安装完成后我们查看一下是否安装成功。

打开python终端。输入
import pymysql
没有报错的话就是安装成功了。

ok,现在我们这个pymysql库已经安装好了。

exit()退出终端。

下一步,打开mysql(运行/开启mysql服务)
server mysql start
我的已经开启好了,直接连接上去看看。
mysql -uroot -p

mysql现在也准备好了。现在开始撸代码了。

//之前一直是pycharm,后来发现vscode,马上就抛弃了pycharm。我真是个善变的人。话说vscode真是轻量啊!pycharm是真的吃内存。心疼一下我的电脑。
扯偏了扯偏了。
打开vscode后,我们先想一想。思路是什么。

第一,连接数据库。

第二,操作数据库(执行数据库命令)

第三,显示数据(显示命令执行结果)

先导入pymysql库

import pymysql

下面就是第一步,连接数据库。

方法一,pymysql的github上介绍的

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
db = pymysql.connect(host='localhost',  
user='user',
password='passwd',
db='db',
charset='utf8mb4',
cursorclass=pymysql.cursors.DictCursor)
这就是数据库的基本配置文件。

介绍一下几个需要自己修改的参数。
host 地址/ip地址
user 数据库连接用户名
password 连接密码
db 要连接/选择的数据库名
charset 数据库编码格式,默认不修改。


方法二。

db=pymysql.connect(host='localhost',user='root',password='root',port=3306,db='web')



方法三。我更喜欢这种。适合懒人。
db = pymysql.connect("localhost","root","root","web" )

现在就是操作数据库了。

先贴代码

1
2
3
4
5
6
7
8
#使用 cursor() 方法创建一个游标对象 cursor  
cursor = db.cursor()

#使用 execute() 方法执行 SQL 查询 ,h是返回收影响的行数
h=cursor.execute('select * from admin;')

#输出一下
print (h)

注意,h是返回收影响的行数,就是查询结果返回的行数。

这里显示是3行。

我们来数据库操作一下看看是否正确。

web数据库admin表里面只有3个字段,说明正确,但是我们要的是返回的数据,而不是行数,怎么办,这就是第三步了。

第三,显示数据

这里我们思考一下,我们要显示的数据是一个什么情况,是全部显示呢还是只显示一部分。数据少可以全部显示,但是数据成千上万,那全部显示就不太适用了。

上代码

1
2
3
4
5
6
7
8
#使用 fetchone() 方法获取单条数据.
#data = cursor.fetchone()

#使用fetchall()获取全部数据
#data=cursor.fetchall()

#使用fetchmany(n)获取前n行数据
#data=cursor.fetchmany(n)

需要用那个,就改那个。
最后输出data就好了。

对了,最后别忘记关闭连接

#关闭数据库连接
db.close()

最后附上全部代码。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#-*- coding: UTF-8 -*-

import pymysql

#连接数据库
db = pymysql.connect("localhost","root","root","web" )


# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()

# 使用 execute() 方法执行 SQL 查询 ,h是返回收影响的行数
h=cursor.execute('select * from admin;')

# 使用 fetchone() 方法获取单条数据.
#data = cursor.fetchone()
#使用fetchall()获取全部数据
data=cursor.fetchall()
#使用fetchmany(n)获取前n行数据
#data=cursor.fetchmany(n)

print(data) #输出查询结果

# 关闭数据库连接
db.close()

python操作mysql的简单方法。就到此结束了。


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

文章标题:python操作mysql

文章字数:997

本文作者:cx

发布时间:2019-10-17, 13:05:13

最后更新:2019-10-17, 13:20:37

目录
×

喜欢就点赞,疼爱就打赏