PyMySQL基本操作

什么是PyMySQL?

PyMySQL 是在 Python3.x 中连接MySQL服务器的一个库(纯Python实现),Python2 中使用 MySQLdb

PyMySQL安装

pip install pymysql

PyMySQL操作

执行DQL语句

# coding=utf-8
import pymysql

conn = pymysql.connect(
    host='192.168.30.161',          # 要连接数据库的IP或主机名
    port=3306,                      # 端口,默认3306
    user='root',                    # 用户名
    password='000000',              # 密码
    database='test',                # 数据库,之后可以更改
    charset='utf8'                  # 字符集
)

# 创建一个游标
cursor = conn.cursor()
# 以字典的方式返回数据
# cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)

# 执行DQL语句
cursor.execute('select * from student')

print(cursor.fetchone())            # 从管道中取一条数据

cursor.scroll(-1)                   # 将游标从当前位置向后移动一位(相对位置),即开头位置

print(cursor.fetchall())            # 取所有数据

cursor.scroll(0, mode='absolute')   # 将游标移动到开头(绝对位置)

print(cursor.fetchmany(1000))       # 指定获取数量,超出查询结果的最大条数,则返回最大条数

# 关闭游标
cursor.close()
#关闭数据库
conn.close()

执行DML语句

  • 在PyMySQL中执行QML语句时要commit提交才能真正写入到数据库,默认支持事务
# coding=utf-8
import pymysql

conn = pymysql.connect(
    host='192.168.30.161',  # 要连接数据库的IP或主机名
    port=3306,  # 端口,默认3306
    user='root',  # 用户名
    password='000000',  # 密码
    database='test',  # 数据库,之后可以更改
    charset='utf8'  # 字符集
)

# 创建一个游标
cursor = conn.cursor()
try:
    # 开启事务
    conn.begin()
    
    sql= 'insert into student(sname,age,gender,addr,telnum) value("张三",20,1,"北京市","123456")'
    # 返回值是作用的行数
    rest = cursor.execute(sql)
    # 向数据库提交
    conn.commit()
    print(rest)

    sql = 'update student set telnum="10086" where telnum="123456"'
    cursor.execute(sql)
    # 手动抛出异常
    raise ValueError()
    conn.commit()

except:
    # 回滚
    conn.rollback()
# 关闭游标
cursor.close()
# 关闭数据库
conn.close()
原文地址:https://www.cnblogs.com/xiasir/p/12914666.html