pymysql是一个Python的第三方包,需要手动安装后才能使用

1.使用pymysql查询数据

'''
pymysql基本使用步骤
使用pymysql查询数据
'''

import pymysql

# 创建数据库连接对象,除了端口外,其他类型都要用字符串类型
connect_db=pymysql.connect(host='localhost',port=3306,user='root',password='root',charset='utf8',database='jing_dong')

# 获取游标对象,操作数据库时都是使用游标对象操作,类似与电脑写文档时的光标,可以指示操作的起始位置
# 一个数据库连接对象可以创建多个(多次)游标对象,一般同一时刻只会建立一个进行操作
# 游标对象在创建时,默认会开启一个隐式的事务环境
cur=connect_db.cursor()

# 操作数据库
# 避免字符串引号和sql语句中的引号冲突,使用三引号
sql_str='''select * from goods'''

# 执行sql语句,会返回操作的数据行数
row_count=cur.execute(sql_str)
print(f'查询到{row_count}条记录')

# 查询数据的语句的返回值都是一个元祖,或者元祖套元祖
# 从游标对象指示的位置开始,获取一条查询结果
result_one=cur.fetchone()   # 返回一个元祖
print(result_one)
print('*'*30)

# 让游标回到开头处
cur.rownumber=0

# 从游标对象指示的位置开始,获取指定条数的记录
result_many=cur.fetchmany(7)    # 返回一个元祖类型的可迭代对象,一条数据的话是这样的((),)
for result in result_many:
    print(result)
print('*'*30)

# 让游标回到开头处
cur.rownumber=0

# 获取所有数据
result_all=cur.fetchall()   # 返回一个元祖类型的可迭代对象,一条数据的话是这样的((),)
for result in result_all:
    print(result)

# 关闭游标对象
cur.close()

# 关闭数据库对象
connect_db.close()

2.使用pymysql插入数据

'''
插入数据
'''

import pymysql

# Connect = connect = Connection = connections.Connection
connect_db=pymysql.Connect(host='localhost',port=3306,database='jing_dong',user='root',password='root',charset='utf8')
cur=connect_db.cursor()
sql_str='''insert into goods(name,cate_id,brand_id) values('MacBookPro 15',1,5)'''
t=cur.execute(sql_str)
print(t)
'''
当对数据库做增删改时,默认会在事务环境中进行操作,操作完成后要手动提交操作,否则程序默认操作为回滚,那么刚才的操作就不会生效
但是增加数据时,即使回滚了,为主键的字段的auto_increment值也会加1
'''
# 事务的提交操作由数据库连接对象来完成
# 事务的提交操作必须在执行sql语句之后进行
connect_db.commit()

cur.close()
connect_db.close()

3.使用pymysql修改数据

'''
使用pymysql更新数据
'''

import pymysql

connect_db=pymysql.Connect(host='localhost',port=3306,user='root',password='root',charset='utf8',database='jing_dong')
cur=connect_db.cursor()
sql_str='''update goods set price=2099 where id=10'''
cur.execute(sql_str)
connect_db.commit()
cur.close()
connect_db.close()

4.使用pymysql删除数据

'''
使用pymysql删除数据
'''

import pymysql

connect_db=pymysql.Connection(host='localhost',port=3306,user='root',password='root',charset='utf8',database='jing_dong')
cur=connect_db.cursor()
sql_str='''delete from goods where name='笔记本电脑17' '''
cur.execute(sql_str)
connect_db.commit()
cur.close()
connect_db.close()