问题:

练习:MySQL数据库编程

题目描述:创建一个测试数据库test.db,该数据库中包含一张teacher表,该数据表含有六个字段教工号tid、姓名tname、性别tsex、年龄tage、职称ttitle。

提示

  • 在网址MySQL :: Download MySQL Community Server上下载mysql数据库压缩文件mysql-8.0.28-winx64.zip(或者老师直接提供)。解压该压缩文件,并修改目录为mysql8,内含有bin和data目录,将mysql8目录复制到目录D:\mysql。
  • 以管理员身份打开cmd,进入D:\mysql\mysql8\bin,创建db数据库,创建teacher数据表,输入数据记录如图5-1所示。(操作参见数据库ppt)

图5-1

(3)以此数据库为基础,编写Python代码分别完成数据添加、删除、修改和查询操作。

通过SQL语句insert、delete、update、select分别实现对应数据操作功能。Python操作MySQL数据库程序代码的测试结果如下图5-2所示。

 第一步——Mysql操作:

mysql> use test
Database changed

//创建表格

mysql>  create table teacher(
          ->  tid char(7) not null,//not null 表示tid的值不能为空
          ->  tname varchar(50) not null,
          ->  tsex char(2) not null,
          ->  tage int not null,
          ->  ttitle varchar(50) not null,
          -> primary key (tid)
          -> )engine=innoDB default charset=utf8;
Query OK, 0 rows affected (0.01 sec)

//查询表格的结构

mysql> insert into teacher values('2021001','张珊','女',32,'讲师');//插入数据
Query OK, 1 row affected (0.00 sec)

第二步——Python环境操作MySQL数据库:

import  pymysql
dp=pymysql.connect(host='localhost',user='root',password='117503',database='test')#连接数据库
cur=dp.cursor()#创建游标对象cur
#查询
cur.execute("select * from teacher")#游标对象执行SQL语句,将Python操作端和MySQL数据库联系起来
results1 = cur.fetchall()#通过游标对象的fetchall()方法获取游标中的所有数据(这里是一个元组)
print(results1)#输出获得的数据
#增加一行
sql = "insert into teacher values ('%s','%s','%s',%s,'%s')" % ("2001024","王立军","男",32,"讲师")
cur.execute(sql)
dp.commit()
cur.execute("select * from teacher")
results2=cur.fetchall()
print(results2)
#删除一行
sql="delete from teacher where tid='2001024';"
cur.execute(sql)
dp.commit()
cur.execute("select * from teacher")
results3=cur.fetchall()
print(results3)
#修改一行的数据
sql="update teacher set tname='张san',ttitle='副教授' where tid='2021001';"
cur.execute(sql)
dp.commit()
cur.execute("select * from teacher")
results4=cur.fetchall()
print(results4)
dp.close()

注释:Python环境下,先要导入pymysql模块(我用的pycharm,可以直接搜索pymysql并导入),然后连接数据库就行了,注意,Python端对表格的操作和MySQL服务器里操作表格的格式大致相同,注意,Python端修改、删除、增加表格数据都要有dp.commit(),输出结果如问题图二所示

Python 作业4+实验三相关推荐

  1. 基于python的文件加密传输系统 毕业论文_20183411 李丞灏 2020-2021 《python程序设计》 实验三 加密传输文件 实验报告...

    20183411 李丞灏 2020-2021 <python程序设计> 实验三 加密传输文件 实验报告 课程:<Python程序设计> 班级: 1834 姓名: 李丞灏 学号: ...

  2. python编译程序输入上网时间并计算上网费用 计算方法_同济大学Python程序设计基础 实验三:选择结构...

    实验三 第一题 1.求一元二次方程的根. 要求:输入一元二次方程的三个系数a.b.c,根据系数值,可得出如下三种根: (1)△>0,两个实根 (2)△=0,重根,即相同根 (3)△<0,无 ...

  3. python程序设计报告-20183215 实验三《Python程序设计》实验报告

    20183215 2019-2020-2 <Python程序设计>实验三报告 课程:<Python程序设计> 班级: 1832 姓名: 董振龙 学号: 20183215 实验教 ...

  4. python的实验报告怎么写_学号:20191221,《python实验设计》实验报告三

    学号 2019-2020-2 <Python程序设计>实验三讲述 课程:<Python程序设计> 班级: 1912 姓名: 何应霆 学号:20191221 实验西席:王志强 实 ...

  5. python语言程序设计实验教程答案实验三_20182204 实验三《Python程序设计》实验报告...

    20182204 <Python程序设计>实验三报告 课程:<Python程序设计> 班级:1822 姓名:20182204zwp 学号:20182204 实验教师:王志强老师 ...

  6. python实验三答案_20192116 实验三《Python程序设计》实验报告

    20192116 2019-2020-2 <Python程序设计>实验三报告 课程:<Python程序设计> 班级: 1921 姓名: 饶欢 学号:20192116 实验教师: ...

  7. 201671010434王雯涵--实验三:作业互评与改进

    课程名 <软件工程> 作业要求 实验三 作业互评与改进 我的课程目标 理解软件工程各阶段文档的作用与意义,了解软件工程文档的国家标准及其规范 实验内容 任务一: 评论1:https://w ...

  8. 201671010411.巩定定 实验三.作业互评与改进

    课程名称 2016西北师范大学计算机科学与工程学院软件工程 作业要求 实验三作业互评与改进 任务一 G梓妤 评论博客:https://www.cnblogs.com/buaaguzhanpeng/p/ ...

  9. python文件操作实验报告_20193120 实验三《Python程序设计》实验报告

    实验三 (一)实验内容 创建服务端和客户端,服务端在特定端口监听多个客户请求.客户端和服务端通过Socket套接字(TCP/UDP)进行通信. (二)实验要求 (1)创建服务端和客户端,选择一个通信端 ...

  10. ArcGIS实验教程——实验三十六:ArcGIS Python脚本的巧妙使用

    ArcGIS实验视频教程合集:<ArcGIS实验教程从入门到精通>(附配套实验数据)> 文章目录 一.ArcGIS脚本简介 二.Python脚本与ArcPy 三.Python窗口 四 ...

最新文章

  1. 完了!TCP出了大事!
  2. springmvc十九:springmvc表单标签
  3. 把事务封装成类似Serializable用法的特性
  4. oracle数据库元数据SQL查询
  5. DSA签名算法 - Java加密与安全
  6. 遍历HashMap的最佳方法
  7. #if DEBUG vs. Conditional(“DEBUG”)
  8. ui设计卡片阴影_UI设计形状和对象基础知识:阴影和模糊
  9. Java工程师修炼之路
  10. 会议交流 | IJCKG 2021 日程表(北京时间)
  11. php array_flip() 删除数组重复元素——大彻大悟
  12. mysql序列号生成_超详细的mysql数据库GTID介绍—概念、优缺点、原理、生命周期等
  13. 一行代码画一个数据分析图(lzdb 库)
  14. Android Studio新建项目出错如何解决
  15. container-coding-codec
  16. Video Classification with Channel-Separated Convolutional Netwroks 论文阅读
  17. 基于单片机的多功能电子密码锁系统设计
  18. 利用selenium携带cookies实现免登录
  19. 划分训练集、测试集,制作自己的数据集
  20. 微博爬虫python_微博爬虫 python

热门文章

  1. Java编写程序获取验证码
  2. 新巴巴运动网项目需求书_巴巴姆少儿英语项目介绍(613岁)
  3. 台达触摸屏和vfd-m变频器通讯控制监视程序 使用modbus rtu通讯方式,在触摸屏可以直接控制变频器
  4. 尚硅谷-Promise
  5. 易优CMS:arcpagelist 瀑布流分页列表
  6. 创建对象和实现原型继承的几种方式
  7. x570支持Linux系统吗,苹果中国官网调整:Mac Pro正式支持选配AMD W5500X显卡
  8. 苹果系统中国日历服务器,ios日历中国节日不见了(2021年苹果日历订阅地址)...
  9. 八年开心网,它的是非功过都在这里了
  10. vue中对鼠标划过事件处理方式