python与mysql连接创建学生成绩管理系统
python与mysql连接创建学生成绩管理系统1.首先创建MySQL中的数据库数据库为mytest,创建成绩表2.下载pymysql 模块通常安装好python环境,在dos命令下输入:上面的网址我用的是清华的镜像,会快一些!
·
python与mysql连接创建学生成绩管理系统
1.首先创建MySQL中的数据库
数据库为mytest,创建成绩表
2.下载pymysql 模块
通常安装好python环境,在dos命令下输入:
pip install pymysql -i https://pypi.tuna.tsinghua.edu.cn/simple
上面的网址我用的是清华的镜像,会快一些!
P.S:也可以直接在pycharm中下载:
3.完整代码如下:
# coding:utf-8
__author__ = 'zhouyin'
# 导入pymysql模块
import pymysql
# 连接数据库
try:
# 连接database conn = pymysql.connect(host=“你的数据库地址”,user=“用户名”,password=“密码”,database=“数据库名”,charset=“utf8”)
conn = pymysql.connect(host="localhost",user="root",password="root",database="mytest")
print("数据库连接成功!")
except pymysql.Error as e:
print("数据库连接失败"+str(e))
cur = conn.cursor() # 得到一个可以执行SQL语句的光标对象 执行完毕返回的结果集默认以元组显示
# 产生菜单栏
while True:
num = int(input("请选择你需要操作的数据库:1.查询;2.插入;3.修改;4.删除;5.退出;\n"))
# 查询数据
if num == 1:
sql = "select * from 成绩表"
cur.execute(sql) # 执行SQL语句
result = cur.fetchall() # 使用 fetchone() 方法获取一条数据
for i in result:
print(i)
# 插入数据
elif num == 2:
sid = input("请输学号:")
sname = input("请输姓名:")
ssex = input("请输性别:")
s_python = float(input("请输python成绩:"))
data = (sid,sname,ssex,s_python)
sql = "insert into 成绩表(学号,姓名,性别,python成绩) values ('%s','%s','%s','%f')" % (data)
try:
cur.execute(sql)
conn.commit()
except Exception as err:
print("sql语句执行错误", err)
conn.rollback() # 错误回滚
# 修改成绩数据
elif num == 3:
sid = input("请输出学号:")
s_python = float(input("请输入python成绩:"))
sql = "update 成绩表 set python成绩='%f' where 学号 ='%s' " % (s_python, sid)
try:
cur.execute(sql)
conn.commit()
except Exception as err:
print("sql语句执行错误", err)
conn.rollback()
# 删除数据
elif num == 4:
sid = input("请输入需要删除的学号:")
sql = "delete from 成绩表 where 学号=%s" % (sid)
try:
cur.execute(sql)
conn.commit()
except Exception as err:
print("sql语句执行错误", err)
conn.rollback()
elif num == 5:
break
cur.close() # 关闭光标对象
conn.close() # 关闭数据库连接
可以思考把上面的分支语句换成函数来做,会效果更好!
__author__ = 'zhouyin'
# coding:utf-8
import pymysql
# 连接数据库
try:
conn = pymysql.connect(host="localhost",user="root",passwd="root",database="mytest")
print("数据库连接成功!")
except Exception as err:
print("数据库连接失败"+str(err))
def select_smg():
sql = "select * from 成绩表"
try:
cur.execute(sql)
result = cur.fetchall()
for i in result:
print(i)
except Exception as err:
print("sql语句执行错误", err)
conn.rollback() # 错误回滚
def insert_smg(data):
sql = "insert into 成绩表(学号,姓名,性别,python成绩) values ('%s','%s','%s','%f')" % (data)
try:
cur.execute(sql)
conn.commit()
except Exception as err:
print("sql语句执行错误", err)
conn.rollback() # 错误回滚
def update_smg(sid,s_python):
sql = "update 成绩表 set python成绩='%f' where 学号 ='%s' " % (s_python, sid)
try:
cur.execute(sql)
conn.commit()
except Exception as err:
print("sql语句执行错误", err)
conn.rollback()
def delete_smg(sid):
sql = "delete from 成绩表 where 学号=%s" % (sid)
try:
cur.execute(sql)
conn.commit()
except Exception as err:
print("sql语句执行错误", err)
conn.rollback()
# 主函数,菜单
if __name__=="__main__":
while True:
num = int(input("请选择要进行的操作:1.查询;2.插入;3.修改;4.删除;5.退出。\n"))
cur = conn.cursor()
if num == 1:
select_smg()
elif num == 2:
sid = input("请输学号:")
sname = input("请输姓名:")
ssex = input("请输性别:")
s_python = float(input("请输python成绩:"))
data = (sid,sname,ssex,s_python)
insert_smg(data)
elif num == 3:
sid = input("请输出学号:")
s_python = float(input("请输入python成绩:"))
update_smg(sid,s_python)
elif num == 4:
sid = input("请输入需要删除的学号:")
delete_smg(sid)
elif num == 5:
break
更多推荐
已为社区贡献1条内容
所有评论(0)