连接:
import pymysql
# 连接数据库
db = pymysql.connect(host='localhost', user='root', password='123456')
# print(db)
# 选择数据库
db.select_db('test')
# 设置字符集
db.set_charset('utf8')
# 创建游标对象
cursor = db.cursor()
# 准备SQL语句
sql = 'select name, age from star'
# 执行SQL语句:对于查询语句返回结果几数量
rowcount = cursor.execute(sql)
# 结果集中的记录数
# print(rowcount)
# print(cursor.rowcount)
# 记录当前操作在结果集中的位置
# print(cursor.rownumber)
# 获取一条数据
# print(cursor.fetchone())
# 获取多条数据
# print(cursor.fetchmany(2))
# 获取所有数据
print(cursor.fetchall())
# 关闭游标
cursor.close()
# 关闭数据库连接
db.close()
事务处理:
import pymysql
db = pymysql.connect(host='localhost', user='root', password='123456')
db.select_db('test')
db.set_charset('utf8')
cursor = db.cursor()
# 开启事务
db.begin()
try:
sql = 'insert into user(username, password, gid) values("xiaoming", "123456", 2)'
# 对于DML:返回的是受影响的行数
rowcount = cursor.execute(sql)
# raise Exception('出现异常')
print(rowcount)
# 提交事务
db.commit()
# 最后插入数据的自增id
print(cursor.lastrowid)
except Exception as e:
print(e)
# 回滚所有操作
db.rollback()
cursor.close()
db.close()