python通过connect对象连接数据库对吗_Flask干货:访问数据库——Python数据库框架MySQL-Python...

本文介绍了MySQL-Python框架的安装方法,通过Python操作数据库对象的步骤,包括创建MySQL连接对象、获取游标对象、获取所有记录列表等,还给出了完整的实战代码。关键点在于获取游标对象,以实现对数据库的操作,下次将介绍数据库的增删改查。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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

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

一、MySQL-Python安装

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

pip install pymysql

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

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

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

二、通过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 Flask

import pymysql

pymysql.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。参数说明如下:

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

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

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

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

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

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

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

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

l 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对象还支持下列方法:

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

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

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

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

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

l close():关闭游标

三、实战

完整的app.py代码如下:

from flask import Flask

import pymysql

pymysql.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(),所以是在命令行打印。

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

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

你确定不关注我一波?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值