下载安装pymyql库
pip install pymysql
字典输出数据
cur = db.cursor(pymysql.cursors.DictCursor)
cur = db.cursor()游标对象的方法
fetchall() 查询时获取结果集中的所有行,一行构成一个元组,然后再将这些元组返回(即嵌套元组)。
ferchone() 查询时获取结果集的第一行数据,返回一个元组,该元组元素即为第一行数据,如果没有则为None
execute() 为单条数据插入
executemany() 批量数据插入
rowcount() 用来记录操作次数
pymysql.Connect()参数说明
host(str): MySQL服务器地址
port(int): MySQL服务器端口号
user(str): 用户名
passwd(str): 密码
db(str): 数据库名称
charset(str): 连接编码
连接数据库
# 导入pymysql库
import pymysql
DBHOST = 'localhost'
DBUSER = 'root'
DBPASS = 'root'
DBNAME = 'dbtest'
try:
# 数据库连接对象
db= pymysql.connect(host=DBHOST,user=DBUSER, password=DBPASS, database=DBNAME)
print('数据库连接成功!')
except pymysql.Error as e:
print('数据库连接失败'+str(e))
查询
# 游标对象
cur = db.cursor()
# sql语句
sql = "SELECT * FROM student where id = %s"
# 值
value=("2112114333")
try:
rows= cur.execute(sql, value)
# 数据表格转换成元组(("2112111028","小唐"),("2112110728","小钟"),)
data = cur.fetchall()
# 事务提交
db.commit()
print('数据查询成功!')
except pymysql.Error as e:
print("数据查询失败:"+e )
# 事务回滚
db.rollback()
增加
# 游标对象
cur = db.cursor()
# sql语句
sql = "INSERT INTO student (id,`name`) VALUES (%s,%s)"
# 值
value=("21121145555","小陈")
try:
rows = cur.execute(sql, value)
# 事务提交
db.commit()
print('数据增加成功!')
except pymysql.Error as e:
print("数据增加失败:"+e )
# 事务回滚
db.rollback()
修改
# 游标对象
cur = db.cursor()
# sql语句
sql = "UPDATE student SET name =%s WHERE id = %s"
# 值
value=("小陈","21121145555")
try:
rows = cur.execute(sql, value)
# 事务提交
db.commit()
print('数据修改成功!')
except pymysql.Error as e:
print("数据增加失败:"+e )
# 事务回滚
db.rollback()
删除
# 游标对象
cur = db.cursor()
# sql语句
sql = "DELETE FROM student WHERE id = %s"
# 值
value=("21121145555")
try:
rows = cur.execute(sql, value)
# 事务提交
db.commit()
print('数据删除成功!')
except pymysql.Error as e:
print("数据删除失败:"+e )
# 事务回滚
db.rollback()