sql 模块 pymysql 数据库操作
2024-10-08 22:28:53
1. 添加一个部门。
import pymysql
def main():
no = int(input('编号: '))
name = input('名字: ')
loc = input('所在地: ')
# 1. 创建数据库连接对象
con = pymysql.connect(host='localhost', port=3306,
database='hrs', charset='utf8',
user='root', password='123456')
try:
# 2. 通过连接对象获取游标
with con.cursor() as cursor:
# 3. 通过游标执行SQL并获得执行结果
result = cursor.execute(
'insert into tb_dept values (%s, %s, %s)',
(no, name, loc)
)
if result == 1:
print('添加成功!')
# 4. 操作成功提交事务
con.commit()
finally:
# 5. 关闭连接释放资源
con.close()
if __name__ == '__main__':
main()
2. 删除一个部门。
import pymysql
def main():
no = int(input('编号: '))
con = pymysql.connect(host='localhost', port=3306,
database='hrs', charset='utf8',
user='root', password='123456',
autocommit=True)
try:
with con.cursor() as cursor:
result = cursor.execute(
'delete from tb_dept where dno=%s',
(no, )
)
if result == 1:
print('删除成功!')
finally:
con.close()
if __name__ == '__main__':
main()
3. 更新一个部门。
import pymysql
def main():
no = int(input('编号: '))
name = input('名字: ')
loc = input('所在地: ')
con = pymysql.connect(host='localhost', port=3306,
database='hrs', charset='utf8',
user='root', password='123456',
autocommit=True)
try:
with con.cursor() as cursor:
result = cursor.execute(
'update tb_dept set dname=%s, dloc=%s where dno=%s',
(name, loc, no)
)
if result == 1:
print('更新成功!')
finally:
con.close()
if __name__ == '__main__':
main()
4. 查询所有部门。
import pymysql
from pymysql.cursors import DictCursor
def main():
con = pymysql.connect(host='localhost', port=3306,
database='hrs', charset='utf8',
user='root', password='123456')
try:
with con.cursor(cursor=DictCursor) as cursor:
cursor.execute('select dno as no, dname as name, dloc as loc from tb_dept')
results = cursor.fetchall()
print(results)
print('编号\t名称\t\t所在地')
for dept in results:
print(dept['no'], end='\t')
print(dept['name'], end='\t')
print(dept['loc'])
finally:
con.close()
if __name__ == '__main__':
main()
5. 分页查询员工信息。
import pymysql
from pymysql.cursors import DictCursor
class Emp(object):
def __init__(self, no, name, job, sal):
self.no = no
self.name = name
self.job = job
self.sal = sal
def __str__(self):
return f'\n编号:{self.no}\n姓名:{self.name}\n职位:{self.job}\n月薪:{self.sal}\n'
def main():
page = int(input('页码: '))
size = int(input('大小: '))
con = pymysql.connect(host='localhost', port=3306,
database='hrs', charset='utf8',
user='root', password='123456')
try:
with con.cursor() as cursor:
cursor.execute(
'select eno as no, ename as name, job, sal from tb_emp limit %s,%s',
((page - 1) * size, size)
)
for emp_tuple in cursor.fetchall():
emp = Emp(*emp_tuple)
print(emp)
finally:
con.close()
if __name__ == '__main__':
main()
最新文章
- FILE文件操作
- php时间函数整理
- apache commons vfs 文件夹监控
- 《Mysql 公司职员学习篇》 第一章 小A的烦恼
- json解析尖括号<;>;
- 杜教筛进阶+洲阁筛讲解+SPOJ divcnt3
- Linux学习之CentOS(十)----Linux 的账号与群组
- jq无法获取ng-repeat元素,如何控制ng-repeat元素显示与隐藏?
- spark中RDD的转化操作和行动操作
- python-浅拷贝和深拷贝
- XenServer7.6命令行导出导入虚拟机(迁移)
- Flume Channel Selector
- 微信小程序页面带参数跳转及接收参数内容navigator
- js前台遍历后台返回的Datatable数据
- 铁乐学python_Day41_线程01
- MySQL 储存过程-原理、语法、函数详细说明
- Go语言 7 并发编程
- source insight 保存时删除多余空格,去除多余空格 space tab键【转】
- Pygame-依葫芦画瓢之兔獾大战
- 从零开始学习MXnet(五)MXnet的黑科技之显存节省大法
热门文章
- tomcat服务器的应用总结
- 震惊,当我运行了这条Linux命令后,服务器竟然... (Linux中的删除命令)
- 37个JavaScript基本面试问题和解答
- IDEA 配置自定义Apache与PHP环境
- Yuchuan_Linux_C 编程之三 静态库的制作和使用
- Golang package轻量级KV数据缓存——go-cache源码分析
- 一起了解 .Net Foundation 项目 No.19
- 区间DP(力扣1000.合并石头的最低成本)
- C语言二进制拼接 (整数和byte类型的字符串拼接)
- 下载网页中的 pdf 各种姿势,教你如何 carry 各种网页上的 pdf 文档。