python连接mysql,数据更新
import pymysql no = int(input('部门编号: ')) name = input('部门名称: ') location = input('部门所在地: ') # 1. 创建连接(Connection) conn = pymysql.connect(host='127.0.0.1', port=3306, user='root', password='root', database='hrs', charset='utf8mb4') try: # 2. 获取游标对象(Cursor) with conn.cursor() as cursor: # 3. 通过游标对象向数据库服务器发出SQL语句 affected_rows = cursor.execute( 'insert into `tb_dept` values (%s, %s, %s)', (no, name, location) ) if affected_rows == 1: print('新增部门成功!!!') # 4. 提交事务(transaction) conn.commit() except pymysql.MySQLError as err: # 4. 回滚事务 conn.rollback() print(type(err), err) finally: # 5. 关闭连接释放资源 conn.close()
#创建部门 create table `tb_dept` ( `dno` int not null comment '编号', `dname` varchar(10) not null comment '名称', `dloc` varchar(20) not null comment '所在地', primary key (`dno`) );
镜像安装扩展包
pip install pygame -i https://pypi.tuna.tsinghua.edu.cn/simple/
import pymysql #更新数据 no = int(input('部门编号: ')) name = input('部门名称: ') location = input('部门所在地: ') # 1. 创建连接(Connection) conn = pymysql.connect(host='127.0.0.1', port=3306, user='guest', password='Guest.618', database='hrs', charset='utf8mb4') try: # 2. 获取游标对象(Cursor) with conn.cursor() as cursor: # 3. 通过游标对象向数据库服务器发出SQL语句 affected_rows = cursor.execute( 'update `tb_dept` set `dname`=%s, `dloc`=%s where `dno`=%s', (name, location, no) ) if affected_rows == 1: print('更新部门信息成功!!!') # 4. 提交事务 conn.commit() except pymysql.MySQLError as err: # 4. 回滚事务 conn.rollback() print(type(err), err) finally: # 5. 关闭连接释放资源 conn.close()
#分页查询员工表的数据。 import pymysql page = int(input('页码: ')) size = int(input('大小: ')) # 1. 创建连接(Connection) con = pymysql.connect(host='127.0.0.1', port=3306, user='guest', password='Guest.618', database='hrs', charset='utf8') try: # 2. 获取游标对象(Cursor) with con.cursor(pymysql.cursors.DictCursor) as cursor: # 3. 通过游标对象向数据库服务器发出SQL语句 cursor.execute( 'select `eno`, `ename`, `job`, `sal` from `tb_emp` order by `sal` desc limit %s,%s', ((page - 1) * size, size) ) # 4. 通过游标对象抓取数据 for emp_dict in cursor.fetchall(): print(emp_dict) finally: # 5. 关闭连接释放资源 con.close()
把数据库里面的数据导入excel文件中
import openpyxl import pymysql # 创建工作簿对象 workbook = openpyxl.Workbook() # 获得默认的工作表 sheet = workbook.active # 修改工作表的标题 sheet.title = '员工基本信息' # 给工作表添加表头 sheet.append(('工号', '姓名', '职位', '月薪', '补贴', '部门')) # 创建连接(Connection) conn = pymysql.connect(host='127.0.0.1', port=3306, user='guest', password='Guest.618', database='hrs', charset='utf8mb4') try: # 获取游标对象(Cursor) with conn.cursor() as cursor: # 通过游标对象执行SQL语句 cursor.execute( 'select `eno`, `ename`, `job`, `sal`, coalesce(`comm`, 0), `dname` ' 'from `tb_emp` natural join `tb_dept`' ) # 通过游标抓取数据 row = cursor.fetchone() while row: # 将数据逐行写入工作表中 sheet.append(row) row = cursor.fetchone() # 保存工作簿 workbook.save('hrs.xlsx') except pymysql.MySQLError as err: print(err) finally: # 关闭连接释放资源 conn.close()