无敌大马猴··· 2023-04-20 10:18 采纳率: 0%
浏览 130

python无法解析mysql数据表,如何解决?

利用python和mysql实现学生管理系统,程序报多处错误和警告,但是能够正常运行,刚开始学习python,希望大家能够予以指点
具体问题为:
1、无法解析表、列
2、没有配置任何数据源来运行此 SQL 并提供高级代码辅助。 通过问题菜单(Alt+Enter)禁用此检查。
3、详细见图
此处为详细代码

import pymysql

conn = pymysql.connect(
    host='localhost',
    port=3306,
    user='root',
    password='lkmpython',
    database='test',
    charset='utf8'
)
class Student:
    def __init__(self,id,name,socre):
        self.id = id
        self.name = name
        self.socre = socre

    #添加
    def add_info(id,anme,socre):
        mycursor = conn.cursor()
        sql = 'insert into student values(%s,%s,%s);'
        value = (id,name,socre)
        mycursor.execute(sql,value)
        conn.commit()
        print(mycursor.rowcount,'信息创建成功!\n')
        print('^-^********************只是一条分割线罢了********************^-^\n')
    #删除
    def del_info(id):
        mycursor = conn.cursor()
        sql = 'delete from student where id = %s;'
        value = (id)
        mycursor.execute(sql, value)
        conn.commit()
        print(mycursor.rowcount, '信息删除成功!\n')
        print('^-^********************只是一条分割线罢了********************^-^\n')
    #修改
    def change_info(name,socre,id):
        mycursor = conn.cursor()
        sql = 'update student set name = %s,socre = %s where id = %s;'
        value = (name,socre,id)
        mycursor.execute(sql, value)
        conn.commit()
        print(mycursor.rowcount, '信息修改成功!\n')
        print('^-^********************只是一条分割线罢了********************^-^\n')
    #查询
    def query_socre(id):
        mycursor = conn.cursor()
        sql = 'select * from student where id = %s;'
        value = (id,)
        mycursor.execute(sql, value)
        result = mycursor.fetchone()
        if result:
            info = Student(result[0], result[1], result[2])
            print(f'学号:{info.id},姓名:{info.name},成绩:{info.socre}')
        else:
            print('未查到该学生信息!')
        print(mycursor.rowcount, '信息查询结束!\n')
        print('^-^********************只是一条分割线罢了********************^-^\n')
    #验证
    def authenticate(username,password):
        if username == 'admin' and password == 'admin123':
            return True
        else:
            return False


while True:
    print('欢迎使用饭兜大学学生管理系统'.center(60))
    username = input('请输入用户名:')
    password = input('请输入密码:')
    if Student.authenticate(username,password):
        print('登陆成功!\n')
        break
    else:
        print('用户名或密码错误!请重新登录!')
        continue
while True:
    print('饭兜大学')
    print('1.创建学生信息'.center(60))
    print('2.删除学生信息'.center(60))
    print('3.修改学生信息'.center(60))
    print('4.查询学生成绩'.center(60))
    print('5.退出系统'.center(58))
    choice= int(input('请选择操作编码:'))
    if choice == 1:
        id = int(input('请输入学号:'))
        name = input('请输入姓名:')
        socre = input('请输入成绩:')
        Student.add_info(id,name,socre)
    elif choice == 2:
        id = int(input('请输入学号:'))
        Student.del_info(id)
    elif choice == 3:
        id = int(input('请输入学号:'))
        name = input('请输入姓名:')
        socre = int(input('请输入成绩:'))
        Student.change_info(name,socre,id)
    elif choice == 4:
        id = int(input('请输入学号:'))
        Student.query_socre(id)
    elif choice == 5:
        print('退出登录!')
        break
    else:
        print('请输入正确的编码!\n')
        continue

此处为报错信息

img

img

img

img

  • 写回答

2条回答 默认 最新

  • Dick_不周 2023-04-20 13:33
    关注

    我复现了一下。确实有点小问题。
    但是控制台不报错。。报错的话你截控制台的报错好一点
    ,其他提示更多说的是 哪些地方不规范或者哪个参数定义了没有使用
    不影响程序主体使用。


    首先是变量名称: name:名字/姓名,score:分数。
    代码中存在 anme,sorce。。?
    所以数据库里面也是 sorce? 23333 赶紧改过来,见名知意呀哈哈哈。

    其次是模块化思想,
    你的整体程序可不能开头构建一个数据库连接,中间定义一个类。
    主体程序是两个while true循环,结束还不关闭数据库连接。
    那应该怎么改?朝着最简单最简洁的方向去改,比如:
    一个类里面包含构建数据库连接及所有操作方法。
    一个包含new上面类的对象,登录,判断编号,调用对象方法的函数。
    一个主程序调用上面的函数。
    这样的话更容易理解和定位问题。


    最后,共勉^_^.

    评论

报告相同问题?

问题事件

  • 创建了问题 4月20日

悬赏问题

  • ¥15 is not in the mmseg::model registry。报错,模型注册表找不到自定义模块。
  • ¥15 安装quartus II18.1时弹出此error,怎么解决?
  • ¥15 keil官网下载psn序列号在哪
  • ¥15 想用adb命令做一个通话软件,播放录音
  • ¥30 Pytorch深度学习服务器跑不通问题解决?
  • ¥15 部分客户订单定位有误的问题
  • ¥15 如何在maya程序中利用python编写领子和褶裥的模型的方法
  • ¥15 Bug traq 数据包 大概什么价
  • ¥15 在anaconda上pytorch和paddle paddle下载报错
  • ¥25 自动填写QQ腾讯文档收集表