首先,应该安装的环境和工具:1.python运行环境。2.pycharm
在Java中,控制台版本的系统也是作为必须了解的一部分。
pycharm安装后,新建的大项目其实是一个工作空间,在项目里新建包,格式与Java大同小异,为三段式的类型。例如:com.cn.ui,诸如此类。
前期的导入pymysql和连接MySQL
下面是连接数据库的:
from pymysql import *#导MySQL的包
#定义class
class DataBase:
def allUser(self):#定义方法
conn =connect("127.0.0.1", "root", '1234', 'cn')#连接
cursor = conn.cursor()#游标
cursor.execute('select * from student')#执行SQL
data=cursor.fetchall()#拿到数据
conn.close()#关闭连接
return data#返回数据
接下来,封装Student对象:
理论上与Java封装对象类似!
class Student:#定义Student类
__stuId=0#封装私有属性
__stuName=''
__stuSex=''
__stuAge=0
#ps:stuId前面的是两个下划线,代表私有
#python无需定义数据类型,直接是变量名=某值
#定义无参构造
#ps:只有在class里面的方法才会带有self,且self并非是手打出来的,而是编码时连带出来的,相当于自动的。注意不要刻意去手打!
def Student(self):
pass
#pass的意思是待执行,如果不写pass,会导致下面的代码出现红色警告!
#定义有参构造
def Student(self,stuId,stuName,stuSex,stuAge):
self.__stuId=stuId
self.__stuName=stuName
self.__stuSex=stuSex
self.__stuAge=stuAge
#这是get的方法
@property
def stuId(self):
return self.__stuId
#set的方法
@stuId.setter
def stuId(self,stuId):
self.__stuId=stuId
#另外的属性同上
如上,Student对象封装完毕!
上面的工作做好后,新建一个python模块,这个模块主要是运行控制台的增删改查操作。
python的模块相当于Java的class文件
#先导入上面的连接模块和对象模块
from com.hc.dao.Connect import *
from com.hc.entity.Student import *
print('欢迎使用Student管理系统!')
#打印一句话
#输出所有的数据
print('-------------------------------------')
print('编号\t 姓名\t 性别\t 年龄')
print('-------------------------------------')
for o in DataBase().allUser():#DataBase是连接中的class,allUser是DataBase中的方法
print(o[0], '\t\t', o[1],'\t\t',o[2],'\t\t',o[3])
print('-------------------------------------')
#定义死循环,当对方输入ret才会退出
while True:
password=input("输入密码:(pass/ret)")
if password=='hc':
systems()
break
elif password=='ret':
break
else:
print('请重新输入!')
一定要判断对方输入的int或者string数据是否符合要求!
小编写出的这种系统的毫无报错的,历经检验,随便对方如何傻瓜式操作!就是这么任性!
下面是增删改查的具体代码:
inp=input('请输入操作:(all,one,del,ins,upd,ret)')
if inp=='all':
selAll()
elif inp=='one':
sname=input('请输入查找student的编号:')
if intspace(sname):
o = DataBase().selAUser(int(sname))
selOne(o)
else:
print('请正确输入查找student的编号!')
elif inp == 'del':
sid = input('请输入删除student的编号:')
if intspace(sid):
o = DataBase().selAUser(int(sid))
if o != '':
selOne(o)
inpu = input('是否删除?(yes/no)')
if inpu == 'yes':
DataBase().delUserByid(sid)
print('删除成功!')
else:
print('退出删除!')
else:
print('此用户不存在!')
selAll()
else:
print('请正确输入删除student的编号!')
elif inp == 'ins':
student=Student()
sname = input('请输入新student的姓名:')
if strspace(sname):
student.stuName = sname
else:
print('输入有误!操作中止!')
continue
ssex = input("请输入新student的性别:")
if strspace(ssex):
student.stuSex=ssex
else:
print('输入有误!操作中止!')
continue
sage = input("请输入新student的年龄:")
if intspace(sage):
student.stuAge=int(sage)
else:
print('输入有误!操作中止!')
continue
DataBase().insUser(student)
print("新增成功!")
selAll()
elif inp == 'upd':
sid = input('请输入修改student的编号:')
if intspace(sid):
o = DataBase().selAUser(int(sid))
if o == '':
print('此用户不存在!')
else:
selOne(o)
student = Student()
student.stuId = sid
sname = input('请输入改student的姓名:')
if strspace(sname):
student.stuName = sname
else:
print('输入有误!操作中止!')
continue
ssex = input("请输入改student的性别:")
if strspace(ssex):
student.stuSex = ssex
else:
print('输入有误!操作中止!')
continue
sage = input("请输入改student的年龄:")
if intspace(sage):
student.stuAge = int(sage)
else:
print('输入有误!操作中止!')
continue
DataBase().updUser(student)
print("修改成功!")
selAll()
else:
print('输入有误!操作中止!')
elif inp=='ret' or inp=='Ret':
inpu = input('是否退出?(yes/no)')
if inpu != 'yes':
print('继续操作!')
else:
print('系统在3秒后自行关闭!')
break # 退出死循环
ps:一定要严格注意格式,因为python不像Java有{},所以制表符tab很重要!
布置好上面所有代码后,点击run,运行在控制台。