# -*- coding:utf-8 -*-
# 两种操控方式:
# 1.pymysql 操控原生sql 效率很高
# 2. orm 在原生sql 进行封装 (和python一样高级语言 效率没有c语言 汇编高) 但是操作容易
# pymysql 提供的与数据库交互 根据事务来完成的
# mysql 中开启事务 start transaction
# commit 之后才会更改数据库表记录
# rollback 回滚事务 撤销未储存的 指定的sql语句 只能撤销 insert update delete
# savepoint 保留点,可以回滚到设置的保留点 格式:savepoint 自定义名
import pymysql
conn = pymysql.connect(host='127.0.0.1',port=3306,user='root',passwd='',db='student')
# 正常连接返回 连接对象 数据库不存在报错
# print(conn) # <pymysql.connections.Connection object at 0x01E667B0>
# 执行sql语句:
cursor = conn.cursor() # 获取游标 命令行
# sql = "CREATE TABLE ss(id INT,name VARCHAR(20))"
# cursor.execute(sql) # 执行sql语句
# sql = "INSERT INTO ss VALUES(1,'Q'),(2,'w')"
# cursor.execute(sql)
a = cursor.execute("select * from ss")
print(a) # 显示几条记录
# 关于取表记录
# print(cursor.fetchall()) # 取全部
# print(cursor.fetchone()) # 取一条
# print(cursor.fetchmany(3)) # 想取几条取几条
# 当在一次取表记录后 游标会一直往下找 不会从头来找
# scroll移动光标
print(cursor.fetchone())
cursor.scroll(1,mode='absolute') # 绝对位置 根据第一个表记录来算
print(cursor.fetchone())
# cursor.scroll(1,mode='relative') # 相对位置 从当前值算 正数往前找 负数往后找
# print(cursor.fetchone())
# cursor.scroll()
conn.commit() # commit 提交操作
cursor.close() # 关闭连接
conn.close()
https://www.cnblogs.com/whatisfantasy/p/6134660.html
pymysql
最新推荐文章于 2024-05-15 10:44:26 发布