pymysql

# -*- 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
阅读更多
换一批

没有更多推荐了,返回首页