PyMySQL使用教程

安装:
打开anaconda prompt输入:

conda install pymysql
# 选择y/n处:输入y

使用示例:
首先确保已经安装MySQL,并且创建了一个数据库名字为‘db‘,

import pymysql.cursors

# 连接数据库,sql为sql语句,使用cursor.execute()执行
connection = pymysql.connect(host='localhost',
                             user='user',
                             password='passwd',
                             db='db',
                             charset='utf8mb4',
                             cursorclass=pymysql.cursors.DictCursor)

try:
    with connection.cursor() as cursor:
        # 插入一条新的记录
        sql = "INSERT INTO `users` (`email`, `password`) VALUES (%s, %s)"
        cursor.execute(sql, ('webmaster@python.org', 'very-secret'))

    # 数据库不会自动保存所作的更改,需要执行commit语句确保插入成功
    connection.commit()

    with connection.cursor() as cursor:
        # 查询一条记录
        sql = "SELECT `id`, `password` FROM `users` WHERE `email`=%s"
        cursor.execute(sql, ('webmaster@python.org',))
        # 获得查询结果集的下一行(即此条记录)
        result = cursor.fetchone()
        print(result)
except:
	# 回滚
	connection.rollback()
	
finally:
	# 关闭连接
    connection.close()

数据库对象connection的方法:

  • cursor():代表一个数据库光标,用于管理获取操作的上下文。从同一连接创建的光标不是隔离的,即,由光标对数据库所做的任何更改都将立即由其他光标看到。
  • commit():因为pymysql时支持事务并且默认不自动提交,执行完sql语句后要执行此方法。
  • rollback():使数据库回滚到任何未决事务的开始,即没有commit的事务,关闭连接而不先提交更改将导致执行隐式回滚。
  • close():立即关闭连接。

光标对象cursor的方法:

  • execute():对所选数据库执行mysql语句 rowcount():这是一个只读属性,并返回受execute()方法影响的行数。
  • fetchone():它获取查询结果集的下一行。 结果集是当使用光标对象来查询表时返回的对象。
  • fetchall():它获取结果集中的所有行。 如果已经从结果集中提取了一些行,则从结果集中检索剩余的行。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值