图 | 源网络文 | 5号程序员

上一次我们学会了数据库安装,但只是安装好没教大家怎么使用!

嘿,别担心,这不有我呢嘛。

今天就由我给大家介绍介绍框架MySQL-Python

01

MySQL-Python安装

框架也是库,所以跟其他库安装一样,在虚拟环境下输入

pip install pymysql

进行安装,如果安装不成功,试试镜像安装:

pip install –i https://pypi.tuna.tsinghua.edu.cn/simplepymysql

安装好以后就能通过python操作数据库了。

02

通过Python操作数据库对象

1、创建MySQL连接对象

开启MySQL自带命令行,输入命令create database wuhao; 创建名为“wuhao”的数据库,并用命令 show databases; 查看。

创建数据库成功后,我们相当于拥有一个仓库啦,但里面还啥都没有,没有分区、没有货物、没有标号… …啥都没有,所以还要建立一张表,相当于在仓库分个区。

先用命令 use wuhao; 切换到数据库下,表示你已经进入到仓库里面了;再用命令 create table user(username varchar(30), email varchar(50)); 创建名为“user”的表格和username、email字段,表示你在仓库中划分出一个区域,同时在区域内又分成多个小格用来存放指定货物。

万事俱备,可以往仓库搬货喽!

使用命令 insert into user values (‘No5Programmer’, ‘123456789@qq.com’); 添加测试数据,并用命令select * from user; 查看,结果如图:

然后新建app.py文件,内容如下:

from flask import Flaskimport pymysqlpymysql.install_as_MySQLdb()app = Flask(__name__)conn = pymysql.Connect(        host = '127.0.0.1',        port = 3306,        user = 'root',        passwd = 'root',        db = 'wuhao',        charset = 'utf8')

使用import导入pymysql,然后建立数据库连接对象conn。参数说明如下:

  • user:登录数据库的用户名,该参数不能为空

  • passwd:录数据库的密码,该参数可以为空

  • db:连接的数据库的名称,该参数不能为空

  • charset:字符集编码,注意不加“-”,该参数不能为空

Python建立与数据的连接,事实上是建立一个MySQLdb.connect()的连接对象,通过连接对象就能和数据库进行数据交互。常用的方法有下面4种:

  • cursor():创建游标对象并返回

  • commit():提交当前事务操作,对数据库的增、删、改、查先保存到缓存里,当执行此方法时再提交给数据库

  • rollback():回滚当前事务操作,取消前面操作

  • close():关闭数据库连接

2、获取游标对象

建立连接后,操作数据库就需要让Python对数据库执行SQL语句。

想象一下,现在是程序自己在用鼠标点击目标文件,所以首要任务是先找到游标,获得游标对象。

cursor = conn.cursor()sql = "select * from user"cursor.execute(sql)

上面的第一行代码就获取了游标,然后用execute()操作。

3、获取所有记录列表

在上面代码的基础上继续编写:

results = cursor.fetchall()for row in results:    username = row[0]    email = row[1]    print("emial=%s, username=%s" % (email, username))cursor.close()conn.close()

可以看出,程序在遍历user表格中的数据并进行打印。除了代码中用到的方法,cursor对象还支持下列方法:

  • execute():用于执行一个数据库的查询命令

  • fetchone():获取结果集中的下一行

  • fetchmany(size):获取结果集中的下(size)行

  • fetchall():获取结果集中剩下的所有行

  • rowcount():最近一次执行数据库查询命令后,返回数据的行数

  • close():关闭游标

03

实战

完整的app.py代码如下:

from flask import Flaskimport pymysqlpymysql.install_as_MySQLdb()app = Flask(__name__)conn = pymysql.Connect(        host = '127.0.0.1',        port = 3306,        user = 'root',        passwd = 'root',        db = 'wuhao',        charset = 'utf8')cursor = conn.cursor()sql = "select * from user"cursor.execute(sql)results = cursor.fetchall()for row in results:    username = row[0]    email = row[1]    print("emial=%s, username=%s" % (email, username))cursor.close()conn.close()@app.route('/')def index():    return 'Hello World!'if __name__ == '__main__':    app.run()

运行后可以看到如下结果:

成功!因为用的print(),所以是在命令行打印。

04

这次的内容主要是学习如何连接数据库,关键点在于获取游标对象,有游标才能控制,就像我们自己在操作一样。

下一次将说说如何更新数据,对数据库进行增、删、改、查

你确定不关注我一波?

- END -

python mysqldb安装_Flask干货:访问数据库——Python数据库框架MySQLPython相关推荐

  1. PYTHON -MYSQLDB安装遇到的问题和解决办法

    PYTHON -MYSQLDB安装遇到的问题和解决办法 参考文章: (1)PYTHON -MYSQLDB安装遇到的问题和解决办法 (2)https://www.cnblogs.com/gaoshanx ...

  2. python详细安装教程linux-Linux环境下Python的安装方法

    本文主要介绍linux下采用源码包的方式进行python的安装. 一.下载python源码包 打开ubuntu下的shell终端,通过wget命令下载python源码包,如下图所示: 将python- ...

  3. python pip安装第三方库老是报错_#python pip 安装dlib一直失败?#python安装dlib错误...

    #python pip 安装dlib一直失败?#python安装dlib错误 python dlib 教程2020-10-11 07:52:36人已围观 ubuntu里面怎么安装dlib 下面是在ub ...

  4. linux python mysqldb安装包,linux环境下python中MySQLdb模块的安装方法

    前言 最近开始学习python数据库编程后,在了解了基本概念,打算上手试验一下时,卡在了MYSQLdb包的安装上,折腾了半天才解决.记录一下我在linux中安装此包遇到的问题. 系统是ubuntn15 ...

  5. winpython是个坑_Win10 Python MySQLdb安装爬的坑

    先报一下环境:win10 python2.7 先前安装了Anaconda,然后安装了pyCharm. 安装的包 MySQL-python-1.2.4b4.win32-py2.7.exe pyCharm ...

  6. python怎么安装pandas模块-如何在Python 3中安装pandas包和使用数据结构

    介绍 Python pandas包用于数据操作和分析,旨在让您以更直观的方式处理标记或关系数据. 基于numpy软件包构建,pandas包括标签,描述性索引,在处理常见数据格式和丢失数据方面特别强大. ...

  7. 学python需要安装什么软件-学武汉Python培训课程需要安装什么软件?分享这10款...

    工欲善其事必先利其器.初学者在学Python的时候,往往会因为没有好用的软件工具,走了很多弯路.因此一些好用的软件工具,可以极大地提高开发效率,那么学武汉Python培训课程需要安装什么软件呢?本文千 ...

  8. win7下python的安装与配置_Win7下Python与Tensorflow-CPU版开发环境的安装与配置过程...

    以此文记录Python与Tensorflow及其开发环境的安装与配置过程,以备以后参考. 1 硬件与系统条件 Win7 64位系统,显卡为NVIDIA GeforeGT 635M 2 安装策略 a.由 ...

  9. python需要安装的库_使用python学习【机器学习】需要安装的库~

    ---------------------------------------------------------------------------------------------------- ...

最新文章

  1. 微信公众平台消息接口开发(29)校验签名与消息响应合并
  2. matlab dsp实验报告,matlab实验报告14.pdf
  3. block与inline,inline和inline-block,块级和行内元素,行内替换和行内非替换元素
  4. fedora下安装pps
  5. iec60870-5-104通讯协议编程_三菱FX编程口通讯协议1——协议解读
  6. python循环for...in_python循环while和forin实例
  7. 对于右侧文字过多会跑到左侧的问题
  8. c# npoi 2.5版本设置字体加粗_Python帮你做Excel——格式设置与画图
  9. 电动汽车冬季悲歌:我不是在充电,就是在充电的路上
  10. mysql的jar包文件在哪找_数据库的jar在哪找
  11. 10个办法让设计小白迅速get海报设计要点!
  12. 如何让WPS像word一样使用快捷键打开MathType
  13. 晶振讲述工作原理及作用
  14. 第三只眼监控软件第三只眼网络监控软件
  15. 2022年中式烹调师(高级)操作证考试题库及模拟考试
  16. edx 4G Network Essentials 4 - Nodes of the control plane (HSS, MME)
  17. 深度学习秋招面试题集锦(一)
  18. 广东高中生多少人_广东省高中生100米短跑记录是多少?谢谢
  19. 被“减”掉的辅导老师,都去哪了?
  20. PKCS及PKCS 15个标准, Public-Key Cryptography Standards

热门文章

  1. python矩形打印_【Python】旋转打印各种矩形
  2. spwm逆变器双极性matlab教程,三相逆变器双极性SPWM调制技术的仿真(论文资料).doc...
  3. linux tomcat apr安装,Linux下Tomcat安装并开启APR模式-Go语言中文社区
  4. Java黑皮书课后题第7章:**7.24(仿真:优惠券收集问题)优惠券收集问题是一个经典的统计问题。编写程序,模拟要得到四张不同花色的牌所需要的选取次数,然后显示选中的四张牌
  5. Java黑皮书课后题第4章:*4.3(几何:估算面积)应用4.1节图中以下地点的GPS位置:Georgia州的Atlanta……计算被这四个城市所围起来的区域面积
  6. C语言学习之1到5的乘积1到N的乘积
  7. 计算机道德 英语作文,公共道德英语作文
  8. Google面试题——及答案
  9. Android Intent基本使用
  10. 【Geek软技能】程序员,为什么写不好一份简历?