Python第三方库pymysql的基本使用

目录

阅读本文章前,您需要了解的知识:

pip安装pymysql

Pycharm导入pymysql第三方库

PyCharm与MySQL的连接

游标cursor

什么是游标

游标的使用

获取数据

(1) fetchone()

 (2) fetchall()

断开连接

例子

一种写法:

另一种写法:


阅读本文章前,您需要了解的知识:

阅读本文章,您需要有以下基础:

  • python 编程
  • MySQL 数据库

pip安装pymysql

打开命令提示行,pip install pymysql

Pycharm导入pymysql第三方库

PyCharm与MySQL的连接

        现在要从PyCharm里面找MySQL里的数据库,

        学过MySQL的小伙伴就应该知道MySQL连接登录上去是有接口的(端口号和主机IP),

        那现在我需要从PyCharm里面连接MySQL里的数据库,就只需要去找它的接口就行了

 连接成功的标识

如果你想具体连上哪个数据库,就可以在条件后面加一个database=''

例如:

        我的MySQL下面有一个db03数据库

 

游标cursor

在使用pymysql.connect() 方法与数据库建立连接后,想要操作数据库时,就需要使用游标 Cursor

什么是游标

        游标,通俗来说就是“游动的标志”,

        有时候,我们执行一条查询语句的时候,往往会得到N条返回结果,执行sql语句去除这些返回结果的接口,就是游标。沿着这个游标,我们可以一次取出一行记录。

        举个栗子:

        当不使用游标功能,去执行 select * from  employee where salary > 3000 ; 这条语句时,如果有1000条返回结果,系统会一次性将1000条记录返回到界面中,你不能做选择,也不能做其他操作。

        当我们开启了游标功能,再去执行这条语句的时候,系统会先帮你找到这些行,先给你存放起来,然后提供一个游戏接口。当你需要数据的时候,就借助这个游标去一行行的取出数据,你每取出一条记录,游标指针就朝前移动一次,一直到取完最后一行数据。

        当我们使用python连接MySQL的时候,那么python就相当于是MySQL服务器的一个客户端,我们利用python这个client去操作MySQL的server

        在pymysql中操作数据库,就是使用游标这种方式来获取表中的数据。

游标的使用

        连接数据库之后,使用 cursor = conn.cursor() 开启游标功能,创建游标对象

cursor = conn.cursor()

        使用 execute() 方法,执行SQL语句。当开启游标功能执行这个SQL语句后,系统并不会将结果直接打印到频幕上,而是将上述得到的结果,找个地方存储起来,提供一个游标接口给我们,当你需要获取数据的时候,就可以从中拿数据

cursor.execute('select * from employee')

获取数据

        使用 fetchone() fetchall() 获取数据

(1) fetchone()

                拿employee数据表做个比方

# 一次性获取一条数据
result = cursor.fetchone()

使用游标获取数据,可以用一个变量将结果存储起来,方便被我们拿来做二次使用

 

 (2) fetchall()

# 一次性获取所有数据
result = cursor.fetchall()

断开连接

        当我们不用的时候,要断开数据库的连接,养成一个好习惯

conn.close()

例子

一种写法:

import pymysql  # 导入库
# 连接MySQL

conn = pymysql.connect(
                      host='localhost',port=3306,user='root',
                      password='password',charset='utf8',database='db03')
#print(conn)

# 创建游标对象
cursor = conn.cursor()
# 获取数据
sql = 'select * from employee where sex = \'女\' ;'
a = cursor.execute(sql)
result = cursor.fetchall()
for i in result:
    print(i)

# 关闭连接
cursor.close() 
conn.close()

 输出结果 :

 

另一种写法:

import pymysql  # 导入库

def add_del_update(sql):
    conn = pymysql.connect(
        host='localhost',port=3306,user='root',
        password='password',charset='utf8',database='db03')
    cursor = conn.cursor()
    try:
        cursor.execute(sql)
        result = cursor.fetchall()
        for i in result:
            print(i)
    except:
        conn.rollback()    # 如果发生错误则回滚
        print('操作失败')
    cursor.close()
    conn.close()

sql = "select * from employee where sex = '男';"
add_del_update(sql)

        输出结果 :

 

  • 3
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值