Free

Student Management System

Add, search, update and report on student records with Python and MySQL.

  • Python
  • MySQL
  • mysql-connector

About this project

A menu-driven student records program: add students, search by roll number or name, update details, record marks across subjects, and print class reports. It is written to the shape the CBSE Class 12 Computer Science practical expects — Python talking to MySQL through mysql-connector — and the same structure works for a BCA or Diploma mini project.

The lesson here is the seam between a program and a database. Most first attempts scatter SQL strings through the input handling and break the moment a name contains an apostrophe. In this one the database work lives in its own module, every query is parameterised, and the menu code never sees SQL at all.

Be clear about what this is: a single-operator console program, on one machine, for one class list. It is a learning exercise, not school software.

What you will learn

  • Connect a Python program to MySQL and run queries safely with parameters
  • Design a small relational schema and explain why each column is there
  • Separate database code from interface code so either can change alone
  • Handle the errors that actually happen — duplicate roll numbers, missing records, a dropped connection
  • Produce class and subject reports with SQL aggregation instead of Python loops

Before you start

  • Python basics — variables, loops, functions
  • A little SQL: SELECT, INSERT, UPDATE, DELETE
  • MySQL installed locally, or access to any MySQL server

New to Python? The free Python course covers everything this project assumes.

Academic integrity notice

These projects are provided for learning, experimentation and reference. Understand the code, modify it for your own requirements, and acknowledge external work according to your institution’s academic policies. Priodemy does not supply work to be submitted as your own.