pip install pymysql cryptography
使用pymysql库的时候会调用cryptography库,我们不会直接调用cryptography库。
import pymysql
conn = pymysql.connect(host='localhost', port=3306,
user='***', password='******',
database='名称', charset='utf8mb4')
cursor = conn.cursor()
affected_rows = cursor.execute(
'insert into tb_dept (dno, dname, dloc) values (%s, %s, %s)',
(no, name, location)
)
if affected_rows == 1:
print('添加成功!')
# 插入成功用:
conn.commit()
# 插入失败用:
conn.rollback()
conn.close()
因第四步要判断是否运行成功,然后再决定是用提交事务还是回滚事务,所以整体加异常捕获!
import pymysql
no = int(input('部门编号:'))
name = input('部门名称:')
location = input('部门所在地:')
# 第一步:创建连接(获得Connection对象)
conn = pymysql.connect(host='localhost', port=3306,
user='guest', password='Guest.618',
database='hrs', charset='utf8mb4')
try:
# 第二步:获得游标(获得Cursor对象)
cursor = conn.cursor()
# 第三步:通过游标对象向数据库发出SQL
affected_rows = cursor.execute(
'insert into tb_dept (dno, dname, dloc) values (%s, %s, %s)',
(no, name, location)
)
if affected_rows == 1:
print('添加成功!')
# 第四步:提交事务(成功)
conn.commit()
except pymysql.MySQLError as err:
print(err)
# 第四步:回滚事务(失败)
conn.rollback()
finally:
# 第五步:关闭连接(释放资源)
conn.close()
import pymysql
no = int(input('部门编号:'))
location = input('部门所在地:')
# 第一步:创建连接(获得Connection对象)
conn = pymysql.connect(host='localhost', port=3306,
user='guest', password='Guest.618',
database='hrs', charset='utf8mb4')
try:
# 第二步:获得游标(获得Cursor对象)
cursor = conn.cursor()
# 第三步:通过游标对象向数据库发出SQL
affected_rows = cursor.execute(
'update tb_dept set dloc = %s where dno = %s',
(location, no)
)
if affected_rows == 1:
print('修改成功!')
# 第四步:提交事务(成功)
conn.commit()
except pymysql.MySQLError as err:
print(err)
# 第四步:回滚事务(失败)
conn.rollback()
finally:
# 第五步:关闭连接(释放资源)
conn.close()
import pymysql
no = int(input('部门编号:'))
# 第一步:创建连接(获得Connection对象)
conn = pymysql.connect(host='localhost', port=3306,
user='guest', password='Guest.618',
database='hrs', charset='utf8mb4')
try:
# 第二步:获得游标(获得Cursor对象)
cursor = conn.cursor()
# 第三步:通过游标对象向数据库发出SQL
affected_rows = cursor.execute(
'delete from tb_dept where dno = (%s)',
(no, )
)
if affected_rows == 1:
print('删除成功!')
# 第四步:提交事务(成功)
conn.commit()
except pymysql.MySQLError as err:
print(err)
# 第四步:回滚事务(失败)
conn.rollback()
finally:
# 第五步:关闭连接(释放资源)
conn.close()
import pymysql
# 第一步:创建连接(获得Connection对象)
conn = pymysql.connect(host='localhost', port=3306,
user='guest', password='Guest.618',
database='hrs', charset='utf8mb4')
try:
# 第二步:获得游标(获得Cursor对象)
cursor = conn.cursor()
# 第三步:通过游标对象向数据库发出SQL
cursor.execute(
'select dno, dname, dloc from tb_dept'
)
# 第四步:通过游标对象抓取数据
# 海象运算符(赋值表达式的值可以直接作为while循环的条件)
while data := cursor.fetchone():
print(data)
except pymysql.MySQLError as err:
print(err)
finally:
# 第五步:关闭连接(释放资源)
conn.close()
import openpyxl
import pymysql
from openpyxl.worksheet.worksheet import Worksheet
# 创建Excel工作簿对象
wb = openpyxl.Workbook()
# 获取默认的工作表
sheet1 = wb.active # type: Worksheet
# 修改工作表的名字
sheet1.title = '部门表'
# 添加表头
sheet1.append(('部门编号', '部门名称', '部门所在地'))
# 创建新的工作表
sheet2 = wb.create_sheet('员工表')
sheet2.append(('工号', '姓名', '职位', '主管', '月薪', '补贴', '所属部门'))
conn = pymysql.connect(host='localhost', port=3306,
user='guest', password='Guest.618',
database='hrs', charset='utf8mb4')
try:
cursor = conn.cursor()
cursor.execute(
'select dno, dname, dloc from tb_dept'
)
while data := cursor.fetchone():
sheet1.append(data)
cursor.execute(
'''
select t1.eno
, t1.ename
, t1.job
, t2.ename
, t1.sal
, t1.comm
, t3.dname
from tb_emp as t1
left join tb_emp as t2 on t1.mgr = t2.eno
left join tb_dept as t3 on t1.dno = t3.dno;
'''
)
while data := cursor.fetchone():
sheet2.append(data)
except pymysql.MySQLError as err:
print(err)
finally:
# 保存工作簿对象
wb.save('人力资源管理系统.xlsx')
conn.close()