`
唐美好
  • 浏览: 44799 次
  • 性别: Icon_minigender_1
  • 来自: 湖南永州
社区版块
存档分类
最新评论

Python Mysql 实现人员信息系统

阅读更多

项目心得:Python是们非常有意思的语言,之前在51cto看老男孩Python培训视频的时候看他们做的项目是采用文件存储数据和读取数据,而且界面排版我个人不是非常喜欢.我认为将数据存储在Mysql数据库中会更加完美。
项目内容:(1)Python 操作Mysql数据库的方法
          (2)Python 面向对象的编程
          (3)Python Import方法
          (4)Python 的While,Break,Continue,for if 语句结合使用
          (5)Python的列表,元组,字符串等等
大体掌握上述东西,此项目做起来就比较顺手.
同时有些方面可能没有考虑完美,也没有很多的注释,但是时间的问题,,以后会逐渐更改和完善
博客声明:本文为原创,如果转载请注明出处.iotos.iteye.com

1.Mysql部分:
staff表
id         bigint(12)    NO   PRI 0             
name       varchar(20)   NO        NULL          
sex        enum('M','W') NO        NULL          
birthday   varchar(20)   NO        NULL          
age        int(4)        NO        NULL          
tel        bigint(12)    YES       NULL          
department varchar(6)    NO        NULL          
salary     float         NO        NULL          

2.部分代码:
Company.py
#!/usr/bin/python
#-*- coding:utf-8 -*-
######################################################################
## Filename:      company.py
##                
## Copyright (C) 2014.6
## Author:        TangMeiHao@760209035@qq.com
##               
## Description:   python 实现企业人事管理系统
##                
######################################################################
import mysql
import os

import sys
import time


class company:

	id=''

	thisyear=int(time.strftime("%Y"))

	birthday=''

	name=''

	age=''

    	department=''
	opt=''
	def __Menu__(self):
			menus="""\033[35;38m
			    [........SELECT YOUR FUNCTION........]
			    [........   1:ADD  HrTable   ........]
			    [........   2:FIND HrTable   ........]
			    [........   3:MODI HrTable   ........]
			    [........   4:SHOW HrRable   ........]
			    [........   5:DEL  HrTable   ........]
			    [........   6:EXIT SYSTEM    ........]	
			\033[0m"""	
			print menus
			company.opt=raw_input("\t\t\t\033[32;38m    ........    SELECT  OPTION   .........\033[0m\n")

	def __Select__(self):
		while True:
			company.__Menu__(self)
			if company.opt=='1':
				while True:
					company.__Add__(self)
					opt2=raw_input("\t\t\t\033[31;38m    ........   CONTINUE ADD(y/Y)  ........\033[0m\n")
					if opt2=='Y' or opt2=='y'or opt2=='':
						continue
					else:
						break

			elif company.opt=='2':
				while True:
					company.__FIND__(self)
					break

			elif company.opt=='3':
				while True:
					company.__Modify__(self)
					opt2=raw_input("\t\t\t\033[31;38m    ........   CONTINUE MOD(y/Y)  ........\033[0m\n")
					if opt2=='y' or opt2=='Y' or opt2=='':
						continue
					else:
						break
			
			elif company.opt=='4':
				while True:
					company.__Show__(self)
					break

			elif company.opt=='5':
				while True:
					company.__Delete__(self)
					break

			elif company.opt=='6':
				while True:
					company.__Exit__(self)
					break
			else:
				print "\t\t\t\033[31;38m    [.........  选项错误(AGAIN):    ......]\033[0m\n" 

    	def __Add__(self):
		while True:
			Id=raw_input("\t\t\t\033[31;38m    [.........  INPUT ID FOR ADD:  ......]\033[0m\n")
			lenid=len(Id)
			intId=int(Id) #将其单独转换为整形,与下面的i[0]数据库读出来的ID进行比较
			Addinstance=mysql.cur
			Addconn=mysql.conn
			MysqlId=Addinstance.execute('select id from staff')
			MysqlIds=Addinstance.fetchmany(1000)
			flag=False	#flag为False,表示这个编号不存在,为True存在,进行再一次输入
			for i in MysqlIds:
				if i[0]==intId:	#判断是否已经存在这个Id,Id为主键
					flag=True
					break
				else:				
					continue
			if flag==True:
				print "\t\t\t\033[31;38m    [.........  %s存在:    ......]\033[0m\n" % Id
			
			if lenid==11:	#判断输入的Id长度是否为11
				company.name=raw_input("\t\t\t\033[31;38m    ........    INPUT NAME:      .........\033[0m\n")
				company.sex=raw_input("\t\t\t\033[31;38m    ........    INPUT SEX:      .........\033[0m\n")
				company.birthday=raw_input("\t\t\t\033[31;38m    ........    INPUT BIRTHDAY:  .........\033[0m\n")
				company.age=int(raw_input("\t\t\t\033[31;38m    ........    INPUT AGE:       .........\033[0m\n"))
				company.tel=int(raw_input("\t\t\t\033[31;38m    ........    INPUT TEL:       .........\033[0m\n"))
				company.department=raw_input("\t\t\t\033[31;38m    ........    INPUT DEPARTMENT:.........\033[0m\n")
				company.salary=int(raw_input("\t\t\t\033[31;38m    ........    INPUT SALARY:    .........\033[0m\n"))
				value=[company.id,company.name,company.sex,company.birthday,company.age,company.tel,company.department,company.salary]
				Addinstance=mysql.cur
				Addconn=mysql.conn
				Addinstance.execute('insert into staff values(%s,%s,%s,%s,%s,%s,%s,%s)',value)
				Addconn.commit()
				break
			else:
				continue
			
		

	def __FIND__(self):
		while True:
			Id=int(raw_input("\t\t\t\033[31;38m    [.........  INPUT ID FOR FIND: ......]\033[0m\n"))
			Addinstance=mysql.cur
			Addconn=mysql.conn
			MysqlId=Addinstance.execute('select id from staff')
			MysqlIds=Addinstance.fetchmany(1000)
			flag=False	#flag为False,表示这个编号不存在,为True存在,进行再一次输入
			for i in MysqlIds:
				if i[0]==Id:	#判断是否已经存在这个Id,Id为主键
					flag=True
					break
				else:				
					continue
			if flag==False:
				print "\t\t\t\033[31;38m    [.........  %s不存在:    ......]\033[0m\n" % Id
			a=mysql.cur
			a.execute('select * from staff where id=%s',Id)
			results=a.fetchmany(1000)
			for r in results:
				Id=r[0]
				name=r[1]
				sex=r[2]
				birthday=r[3]
				age=r[4]
				tel=r[5]
				dep=r[6]
				salary=r[7]
				value=(Id,name,sex,birthday,age,tel,dep,salary)			
			result="""
			    编号:%s
			    姓名:%s
			    性别:%s
			    出生:%s
			    年龄:%s
			    电话:%s
			    部门:%s
			    薪水:%s					
				""" % value
			print "\t\t\t\033[31;38m    [.........  %s信息如下:.....]\033[0m\n" % Id
			print result
			break
	
	def __Show__(self):
		a=mysql.cur
		a.execute('select * from staff ')
		results=a.fetchmany(1000)
		for r in results:
			Id=r[0]
			name=r[1]
			sex=r[2]
			birthday=r[3]
			age=r[4]
			tel=r[5]
			dep=r[6]
			salary=r[7]
			value=(Id,name,sex,birthday,age,tel,dep,salary)			
			result="""
			    编号:%s
			    姓名:%s
			    性别:%s
			    出生:%s
			    年龄:%s
			    电话:%s
			    部门:%s
			    薪水:%s					
				""" % value
			print "\t\t\t\033[31;38m    [.........  %s信息如下:.....]\033[0m\n" % Id
			print result

	def __Modify__(self):
		while True:
			Modinstance=mysql.cur
			Modconn=mysql.conn
			Id=int(raw_input("\t\t\t\033[31;38m    [.........  INPUT ID FOR MOD:  ......]\033[0m\n"))
			MysqlId=Modinstance.execute('select id from staff')
			MysqlIds=Modinstance.fetchmany(1000)
			flag=False 
			for i in MysqlIds:
				if i[0]==Id:
					flag=True
					break
				else:				
					continue
			if flag==False:
				print "\t\t\t\033[31;38m    [.........  %s不存在:    ......]\033[0m\n" % Id
			Modinstance.execute('select * from staff where id=%s',Id)
			results=Modinstance.fetchmany(1000)
			for r in results:
				Id=r[0]
				name=r[1]
				sex=r[2]	
				birthday=r[3]
				age=r[4]
				tel=r[5]
				dep=r[6]
				salary=r[7]
				value=(Id,name,sex,birthday,age,tel,dep,salary)			
				result="""
			   	    编号:%s
			    	    姓名:%s
			    	    性别:%s
			            出生:%s
			            年龄:%s
			            电话:%s
			            部门:%s
			            薪水:%s					
					""" % value
				print "\t\t\t\033[31;38m    [.........  %s信息如下:    ......]\033[0m\n" % name
				print result
				print "\t\t\t\033[31;38m    [.........  %s修改信息:    ......]\033[0m\n" % name
				modid=raw_input("\t\t\t\033[31;38m    输入编号:\033[0m")
				modname=raw_input("\t\t\t\033[31;38m    输入姓名:\033[0m")
				modsex=raw_input("\t\t\t\033[31;38m    输入性别:\033[0m")
				modbirthday=raw_input("\t\t\t\033[31;38m    输入出生:\033[0m")
				modage=raw_input("\t\t\t\033[31;38m    输入年龄:\033[0m")
				modtel=raw_input("\t\t\t\033[31;38m    输入电话:\033[0m")
				moddep=raw_input("\t\t\t\033[31;38m    输入部门:\033[0m")
				modsalary=raw_input("\t\t\t\033[31;38m    输入薪水:\033[0m")
				modify_value=(modid,modname,modsex,modbirthday,modage,modtel,moddep,modsalary,Id)
				Modinstance.execute("update staff set id=%s,name=%s,sex=%s,birthday=%s,age=%s,tel=%s, department=%s,salary=%s  where id=%s",modify_value)
				Modconn.commit()
				print "\t\t\t\033[31;38m    [.........  %s修改成功:    ......]\033[0m\n" % name
			break

	def __Delete__(self):
		Id=int(raw_input("\t\t\t\033[31;38m    [.........  INPUT ID FOR DEL:  ......]\033[0m\n"))
		Delinstance=mysql.cur
		Delconn=mysql.conn
		Delinstance.execute('select * from staff where id=%s',Id)
		results=Delinstance.fetchmany(1000)
		for r in results:
			Id=r[0]
			name=r[1]
			sex=r[2]
			birthday=r[3]
			age=r[4]
			tel=r[5]
			dep=r[6]
			salary=r[7]
			value=(Id,name,sex,birthday,age,tel,dep,salary)			
			result="""
			    编号:%s
			    姓名:%s
			    性别:%s
			    出生:%s
			    年龄:%s
			    电话:%s
			    部门:%s
			    薪水:%s					
				""" % value
			print "\t\t\t\033[31;38m    [.........  %s信息如下:    ......]\033[0m\n" % name
			print result
			while True:
		        	char=raw_input("\t\t\t\033[31;38m    [.........  删除%s(Y/y)?:......]\033[0m\n" % name)
				if char=='y' or char=='Y' or char=='':
					Delinstance.execute('delete from staff where id=%s',Id)
					print "\t\t\t\033[31;38m    [.........  %s删除成功:    ......]\033[0m\n" % Id
					break
				else:
					break

	def __Exit__(self):
		sys.exit()
		


if __name__=='__main__':

    try:

        COMinstance=company()
	COMinstance.__Select__()


    except KeyboardInterrupt:

        pass  

项目截图:(随便截了两个图,太麻烦了)
1.

2.

  • 大小: 209.2 KB
  • 大小: 192.3 KB
2
3
分享到:
评论

相关推荐

    python+mysql实现学生信息查询系统

    【Python+MySQL实现学生信息查询系统】是一种常见的数据管理应用,它允许用户通过Python程序与MySQL数据库交互,以便查询和管理学生信息。在这个系统中,Python作为后端编程语言,负责处理用户输入、执行SQL查询以及...

    学生信息管理系统(python+GUI+mysql).zip

    学生信息管理系统(python+GUI+mysql).zip,学生信息管理系统(python+GUI+mysql).zip,学生信息管理系统(python+GUI+mysql).zip 学生信息管理系统(python+GUI+mysql).zip,学生信息管理系统(python+GUI+mysql).zip,...

    Python+Flask+MySQL实现的学生培养计划管理系统源码.zip

    Python+Flask+MySQL实现的学生培养计划管理系统【源码】Python+Flask+MySQL实现的学生培养计划管理系统【源码】Python+Flask+MySQL实现的学生培养计划管理系统【源码】Python+Flask+MySQL实现的学生培养计划管理系统...

    数据库课程设计-员工信息管理系统源码(基于Python和MySQL实现)

    数据库课程设计中的“员工信息管理系统”是一个典型的案例,它展示了如何使用编程语言(如Python)与关系型数据库(如MySQL)交互,实现数据的存储、查询、更新和删除功能。这个系统可以有效地帮助管理和维护组织...

    python+mysql实现个人论文管理系统

    总结来说,该个人论文管理系统利用 Python 的 `pymysql` 与 MySQL 数据库进行连接,实现了用户和论文数据的管理,通过 `wxpython` 创建了用户界面,使用面向对象的编程方式组织代码,提供了数据的增删改查功能,并且...

    python+mysql学生管理系统,可视化界面

    基于Python和MySQL的学生管理系统是一种用于帮助学校或教育机构管理学生信息的计算机软件系统。该系统使用Python作为编程语言,MySQL作为数据库,可以方便地对学生信息进行录入、修改、查询和删除等操作。以下是该...

    基于Python MySQL实现宿舍管理系统【优质毕业设计、课程设计项目】.zip

    该项目是“基于Python MySQL实现宿舍管理系统”的一个优质毕业设计或课程设计示例,它涵盖了数据库管理、后端编程以及系统集成等多方面的IT知识。以下将详细解释其中涉及的关键技术点: 1. **Python编程语言**:...

    图书信息管理系统python+mysql.zip

    《图书信息管理系统:Python与MySQL的融合应用》 在当今数字化时代,图书信息管理系统的存在至关重要,它能够高效地组织和检索图书数据,为图书馆、书店等机构提供便捷的服务。本系统采用Python作为编程语言,结合...

    基于python的人员信息管理系统的设计与实现毕业论文

    本文主要探讨了一套基于Python和Django框架的人员信息管理系统的设计与实现,旨在为企业提供一个高效、可靠且用户友好的人事信息管理工具。系统涵盖了员工资料的增删查改、部门、职位、出勤和工资等多方面信息的管理...

    基于python+mysql的图书管理系统,有gui

    入门级别的图书管理系统,有数据库文件,有简单界面,可以实现图书信息的增加、修改、删除和查看,很简单,有两个主要界面 入门级别的图书管理系统,有数据库文件,有简单界面,可以实现图书信息的增加、修改、...

    数据库课设-基于python和MySQL实现的员工信息管理系统源码+报告.zip

    数据库课设-基于python和MySQL实现的员工信息管理系统源码+报告.zip数据库课设-基于python和MySQL实现的员工信息管理系统源码+报告.zip数据库课设-基于python和MySQL实现的员工信息管理系统源码+报告.zip数据库课设-...

    python+mysql人力资源管理系统

    这是博主本人在大学期间大二时候数据库的课程设计,比较简单,使用linux系统环境下python语言写的,数据库用mysql,大部分都是ui部分,想参考的博友可以下载,里面注释写的很详细,毕竟是本科生的作品,完全是原创的...

    基于python+mysql的学生信息管理系统-课设源码.zip

    基于python+mysql的学生信息管理系统-课设源码.zip基于python+mysql的学生信息管理系统-课设源码.zip基于python+mysql的学生信息管理系统-课设源码.zip基于python+mysql的学生信息管理系统-课设源码.zip基于python+...

    图书馆管理系统Python+MySQL+tkinter图形化界面+数据库+源码(注释详细)

    适合新手,图书馆管理系统Python+MySQL+tkinter图形化界面+数据库+源码(注释详细) 适合新手,图书馆管理系统Python+MySQL+tkinter图形化界面+数据库+源码(注释详细) 适合新手,图书馆管理系统Python+MySQL+...

    毕设项目-基于python+MySQL实现的核酸预约管理系统源码.zip

    毕设项目-基于python+MySQL实现的核酸预约管理系统源码.zip毕设项目-基于python+MySQL实现的核酸预约管理系统源码.zip毕设项目-基于python+MySQL实现的核酸预约管理系统源码.zip毕设项目-基于python+MySQL实现的核酸...

    Flask图书信息管理系统(python+mysql)

    《Flask图书信息管理系统》是基于Python的Flask框架与MySQL数据库构建的应用程序,主要用于实现图书的借阅、管理以及用户交互功能。该系统具备以下几个关键模块和功能: 1. **图书借阅**:系统提供了图书借阅服务,...

    基于Python MySQL实现音乐推荐系统.zip

    【基于Python MySQL实现音乐推荐系统】是一个典型的结合编程与数据管理技术的项目,它涉及到的主要知识点包括Python编程、MySQL数据库管理和推荐系统算法。这个项目旨在为用户提供个性化的音乐推荐,提高用户对音乐...

    python+pyqt5+mysql+可视化图书管理系统

    本系统采用Python作为主要开发语言,结合PyQt5进行图形用户界面设计,利用MySQL作为数据库存储,实现了功能强大的可视化图书管理系统。 Python是一种解释型、面向对象的高级编程语言,以其简洁易读的语法和丰富的库...

    python学生信息管理系统+MySql.zip

    Python学生信息管理系统结合MySQL数据库,是一个非常适合初学者实践的项目,它涵盖了多个IT领域的关键知识点。下面将详细解析这些核心内容。 首先,我们要了解的是**Python编程语言**。Python以其简洁明了的语法和...

Global site tag (gtag.js) - Google Analytics