python与数据库的例子

初始化数据库

链接数据库创建库和表并插入数据

init.py

  1. import pymysql
  2. sql_base='create database school;'
  3. sql_table='''create table student(sno varchar(20) primary key,
  4. sname char(10),
  5. sage int(10),
  6. sex char(4),
  7. sacademy char(10),
  8. sgrade char(9),
  9. sclass char(10))default charset=utf8;'''
  10. DB=pymysql.connect(host='localhost',passwd='1234',charset='utf8',user='root')
  11. cursor=DB.cursor()
  12. cursor.execute(sql_base)
  13. cursor.execute('use school')
  14. cursor.execute(sql_table)
  15. sql_insert='''insert into student values('2016081111','张三',20,'','软件工程学院','2016',3),
  16. ('2016061111','王杰',21,'','网络工程学院','2016',3),
  17. ('2016071113','周顺',19,'','大气科学学院','2016',3),
  18. ('2017081180','李伟',20,'','软件工程学院','2017',2),
  19. ('2016081201','王丽',20,'','软件工程学院','2016',5);'''''
  20. cursor.execute(sql_insert)
  21. DB.commit()

实现各种功能

func.py

  1. DB=None
  2. import pymysql
  3. class Method():
  4. def __init__(self):
  5. self.qurey_sql='select * from student'
  6. def qurey_all(self):
  7. cursor=DB.cursor()
  8. print('学号 \t 姓名 年龄 性别\t学院\t 学年 班级\t')
  9. cursor.execute(self.qurey_sql)
  10. info=cursor.fetchall()
  11. for i in info:
  12. if i != info[0]:
  13. print()
  14. for j in i:
  15. print(j,end=' ')
  16. cursor.close()
  17. def qurey_sno(self):
  18. try:
  19. cursor=DB.cursor()
  20. sno = input('请输入学号:')
  21. print('学号 \t 姓名 年龄 性别\t学院\t 学年 班级\t')
  22. sno_sql = 'select * from student where sno=%s'%(sno)
  23. cursor.execute(sno_sql)
  24. a=cursor.fetchall()[0]
  25. for i in a:
  26. print(i,end=' ')
  27. except Exception as e:
  28. print('有错误',e)
  29. finally:
  30. cursor.close()
  31. def qurey_sname(self):
  32. try:
  33. cursor=DB.cursor()
  34. sname = input('请输入姓名:')
  35. print('学号 \t 姓名 年龄 性别\t学院\t 学年 班级\t')
  36. sno_sql = 'select * from student where sname="%s"'%(sname)
  37. cursor.execute(sno_sql)
  38. for i in cursor.fetchall()[0]:
  39. print(i ,end=' ')
  40. except Exception as e:
  41. print('有错误',e)
  42. finally:
  43. cursor.close()
  44. def qurey_academy(self):
  45. try:
  46. cursor=DB.cursor()
  47. academy = input('请输入学院:')
  48. print('学号 \t 姓名 年龄 性别\t学院\t 学年 班级\t')
  49. academy_sql = 'select * from student where sacademy="%s"' % (academy)
  50. cursor.execute(academy_sql)
  51. x=cursor.fetchall()
  52. for i in x:
  53. if i != x[0]:
  54. print()
  55. for j in i:
  56. print(j,end=' ')
  57. except Exception as e:
  58. print('有错误',e)
  59. finally:
  60. cursor.close()
  61. def add_info(self):
  62. try:
  63. cursor=DB.cursor()
  64. info=list(input('请输入添加的信息 学号 姓名 年龄 性别 学院 年级 班级:\n(每项空格隔开)').split(' '))
  65. sql_insert='''insert into student values('%s','%s',%d,'%s','%s','%s','%s')'''\
  66. %(info[0],info[1],int(info[2]),info[3],info[4],info[5],info[6])
  67. cursor.execute(sql_insert)
  68. DB.commit()
  69. except Exception as e:
  70. print('有错误',e)
  71. finally:
  72. cursor.close()
  73. def modify_info(self):
  74. try:
  75. cursor=DB.cursor()
  76. sname=input('请输入修改学生的名字:')
  77. sno_sql = 'select * from student where sname="%s"' % (sname)
  78. cursor.execute(sno_sql)
  79. print('学号 \t 姓名 年龄 性别\t学院\t 学年 班级\t')
  80. for i in cursor.fetchall()[0]:
  81. print(i, end=' ')
  82. ch=input('\n请输入要修改的字段 :')
  83. if ch == '学号':
  84. ch = 'sno'
  85. if ch == '姓名':
  86. ch = 'sname'
  87. if ch == '年龄':
  88. ch = 'sage'
  89. if ch == '性别':
  90. ch = 'sex'
  91. if ch == '学院':
  92. ch = 'sacademy'
  93. if ch == '学年':
  94. ch = 'sgrade'
  95. if ch == '班级':
  96. ch = 'sclass'
  97. context=input('请输入要修改的信息')
  98. up_sql='update student set %s="%s" where sname="%s";'%(ch,context,sname)
  99. cursor.execute(up_sql)
  100. DB.commit()
  101. if ch == 'sname':
  102. sno_sql = 'select * from student where sname="%s"' % (context)
  103. cursor.execute(sno_sql)
  104. print('学号 \t 姓名 年龄 性别\t学院\t 学年 班级\t')
  105. for i in cursor.fetchall()[0]:
  106. print(i,end=' ')
  107. else:
  108. cursor.execute(sno_sql)
  109. print('学号 \t 姓名 年龄 性别\t学院\t 学年 班级\t')
  110. for i in cursor.fetchall()[0]:
  111. print(i, end=' ')
  112. except Exception as e:
  113. print('错误',e)
  114. finally:
  115. cursor.close()
  116. def delete(self):
  117. try:
  118. cursor=DB.cursor()
  119. cursor.execute(self.qurey_sql)
  120. for i in cursor.fetchall():
  121. print(i)
  122. del1=input('请输入要删除的学生姓名')
  123. del_sql='delete from student where sname="%s"'%del1
  124. #print(del_sql)
  125. cursor.execute(del_sql)
  126. DB.commit()
  127. except Exception as e:
  128. print('出错',e)
  129. finally:
  130. cursor.close()
  131. def main():
  132. global DB
  133. DB=pymysql.connect(host='localhost',user='root',password='1234',charset='utf8',database='school')
  134. method=Method()
  135. print('请选择您的操作:\n1.查询所有学生的信息\t2.按学号查询学生的信息\t3.按姓名查询学生的信息\n4.按学院查询学生的信息\t5.添加学生信息'
  136. '\t6.修改学生信息\n7.删除学生信息\t8.退出',end='')
  137. while True:
  138. c=input('\n请输入功能: (s=功能选项)')
  139. if c == '1':
  140. method.qurey_all()
  141. if c == '2':
  142. method.qurey_sno()
  143. if c == '3':
  144. method.qurey_sname()
  145. if c == '4':
  146. method.qurey_academy()
  147. if c == '5':
  148. method.add_info()
  149. if c == '6':
  150. method.modify_info()
  151. if c == '7':
  152. method.delete()
  153. if c == '8':
  154. DB.close()
  155. print('感谢使用')
  156. break
  157. if c == 's':
  158. print('请选择您的操作:\n1.查询所有学生的信息\t2.按学号查询学生的信息\t3.按姓名查询学生的信息\n'
  159. '4.按学院查询学生的信息\t5.添加学生信息'
  160. '\t6.修改学生信息\n7.删除学生信息\t8.退出', end='')
  161. main()

python 学生信息管理系统的更多相关文章

  1. Python学生信息管理系统的开发

    # 第一题:设计一个全局变量,来保存很多个学生信息:学生(学号, 姓名,年龄):思考要用怎样的结构来保存:# 第二题:在第一题基础上,完成:让用户输入一个新的学生信息(学号,姓名,年龄):你将其保存在 ...

  2. Python基础案例练习:制作学生信息管理系统

    一.前言 学生信息管理系统,相信大家或多或少都有做过 最近看很多学生作业都是制作一个学生信息管理系统 于是,今天带大家做一个简单的学生信息管理系统 二.开发环境: 我用到的开发环境 Python 3. ...

  3. python 04 学生信息管理系统

    今天任务不多,做了学生信息管理系统1.0,使用字典存储学生个体信息,列表存储学生字典.注意dict定义要在循环体内,若定义成全局变量或循环体外,则旧数据会被新数据覆盖.dict属于可变类型数据,内容改 ...

  4. 【python免费代码】设计一个简单的学生信息管理系统

    文章目录 前言 一.理解 二.部分截图展示 三.代码 四.总结 前言 设计一个简单的学生信息管理系统,实现以下功能(bug) : 录入学生信息,信息以文件方式存储 以学生学号或者学生姓名为条件查询该学 ...

  5. python3 简陋的学生信息管理系统

    # 编写一个“学生信息管理系统”# 输入序号:1. 输入学生信息,学生信息包括:id,name,age,gender(用什么数据类型保存?)# 2. 查询:输入学生姓名和id,显示学生个人信息# 3. ...

  6. 基于数组或链表的学生信息管理系统(小学期C语言程序实训)

    1.基于数组的学生信息管理系统 实验内容: 编写并调试程序,实现学校各专业班级学生信息的管理.定义学生信息的结构体类型,包括:学号.姓名.专业.班级.3门成绩. 实验要求: (1) main函数:以菜 ...

  7. 基于数据库MySQL的简易学生信息管理系统

    通过这几天学习Mysql数据库,对其也有了基本的了解,为了加深印象,于是就写了一个最简易的学生信息管理系统. 一:基本要求 1.通过已知用户名和密码进行登录: 2.可以显示菜单: 3.可以随时插入学生 ...

  8. C++ 简单的学生信息管理系统

    // // main.cpp // 2013-7-17作业1 // // Created by 丁小未 on 13-7-17. // Copyright (c) 2013年 dingxiaowei. ...

  9. 学生信息管理系统v1.0

    昨天一个教师朋友找到我,告诉我现在学期末他工作比较忙.需要统计处理很多学生信息,想让我帮他做一个管理系统.实现的功能就是把WPS表格转化成Word文档,将每一个学生的信息都能够分开,并且要根据名字找到 ...

随机推荐

  1. idea Error: java: OutOfMemoryError: insufficient memory 的处理

    idea Error: java: OutOfMemoryError: insufficient memory处理 在更新项目代码或者运行项目时报错 OutOfMemoryError: insuffi ...

  2. #10470. 「2020-10-02 提高模拟赛」流水线 (line)

    题面:#10470. 「2020-10-02 提高模拟赛」流水线 (line) 题目中的那么多区间的条件让人感觉极其难以维护,而且贪心的做法感觉大多都能 hack 掉,因此考虑寻找一些性质,然后再设计 ...

  3. Go 类型强制转换

    Go 类型强制转换 强制类型的语法格式:var a T = (T)(b),使用括号将类型和要转换的变量或表达式的值括起来 强制转换需要满足如下任一条件:(x是非常量类型的变量,T是要转换的类型) 1. ...

  4. 毕业设计之zabbix 之mysql主从状态的监控

    建立监控脚本在自定义的位置 /usr/local/zabbix/script/ [root@mysql.quan.bbs script]$pwd /usr/local/zabbix/script [r ...

  5. dart系列之:还在为编码解码而烦恼吗?用dart试试

    目录 简介 为JSON编码和解码 UTF-8编码和解码 总结 简介 在我们日常使用的数据格式中json应该是最为通用的一个.很多时候,我们需要把一个对象转换成为JSON的格式,也可以说需要把对象编码为 ...

  6. 零基础学习java------day14-----泛型,foreach,可变参数,数组和集合间的转换,Set,Map,

    1.泛型(jdk1.5以后出现) https://www.cnblogs.com/lwbqqyumidi/p/3837629.html#!comments (1)为什么要用泛型? 限制集合,让它只能存 ...

  7. [PE结构]导出表结构浅析

    导出函数的总数-->以导出函数序号最大的减最小的+1,但导出函数序号是可自定义的,所以NumbersOfFunctions是不准确的 1.根据函数名称找,函数名称表->对应索引函数序号表中 ...

  8. git提交指定文件

    1. 用git add 命令添加第一个commit需要的文件 git add file1 git add file2 2. 隐藏其他修改,git stash 的参数中 -k 开关告诉仓库保持文件的完整 ...

  9. Shell学习(六)——条件判断总结

    Shell学习(六)--条件判断总结 [1]https://www.cnblogs.com/zhw-626/p/8528001.html [2]https://www.cnblogs.com/yizh ...

  10. Linux下强制踢掉登陆用户

    1.pkill -kill -t   tty 例:pkill -kill -t tty1