首页 > 数据库 >python第三方模块之pymysql

python第三方模块之pymysql

时间:2022-11-28 19:23:46浏览次数:34  
标签:python pymysql cursor 模块 sql conn

python第三方模块之pymysql

首先我们要先向解释器中安装pymysql模块:

pip pymysql --install

与数据库建立连接

conn = pymysql.connect(
    host='127.0.0.1',  # 与本地数据库建立连接,可以尝试其他电脑的ip地址
    port=3306,  # 端口可写可不写,默认3306
    user='root',
    password="111",
	database="navicat_test1",  # 选择一个库,关键字可以简化为db
    charset="utf8mb4"
)  # 更多参数可以点进connect的源码去看

数据库模块的使用

  1. 产生游标对象

    # cursor = conn.cursor()  # 括号内不填写额外参数 数据是元组 指定性不强  [(),()]
    cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)  # [{},{}]
    
  2. 编写sql

    sql = "select * from class"  # 查找库navicat_test1下的表class
    
  3. 交由服务端执行

    affect_rows = cursor.execute(sql)  # 返回sql影响的数据行数
    print(affect_rows)
    
  4. 获取执行的结果

    cursor.fetchone()  # 从当前位置 拿到一条执行结果
    cursor.fetchall()  # 拿到所有结果
    crusor.fetchmany(n)  # 从当前位置 拿到多个结果
    

    游标的含义就是可以移动,我们在拿结果时,游标会自动的往后移动,如果我们想重新拿到前面的结果,可以使用滚动方法:

    cursor.scroll(1,'relative')  # 基于当前位置往后移动
    cursor.scroll(0,'absolute')  # 基于数据的开头往后移动
    

补充

在pymysql中,在查询时我们不需要二次确认,但是涉及增改删操作时,我们的mysql好像没有响应我们,这是因为mysql在触及这些操作时会问我们的客户端是否确认操作。

我们需要在执行完,对其进行确认

cursor.execute("update class set caption='五年5班' where cid=10")  # 改动某个数据值
conn.commit()  # 针对 增 删 改 需要二次确认(代码确认)

这样就可以通过python代码实现对数据库数据的增删改查了。

而二次确认其实也不用我们专门写一下,还可以在连接时添加一个配置参数就行:

conn = pymysql.connect(
    host='127.0.0.1', 
    port=3306, 
    user='root',
    password="111",
	database="navicat_test1",
    charset="utf8mb4",
    autocommit=True  # <---自动确认增删改
)

标签:python,pymysql,cursor,模块,sql,conn
From: https://www.cnblogs.com/Leethon-lizhilog/p/16933085.html

相关文章