import sqlite3 import sys # Connect to local DB (or create it) conn = sqlite3.connect('data.db') c = conn.cursor() # Create table if not exists c.execute(''' CREATE TABLE IF NOT EXISTS records ( id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL, age INTEGER, phone TEXT ) ''') conn.commit() # Functions def add_data(): name = input("Enter Name: ") age = input("Enter Age: ") phone = input("Enter Phone Number: ") c.execute("INSERT INTO records (name, age, phone) VALUES (?, ?, ?)", (name, age, phone)) conn.commit() print("[✔] Data added successfully.") def view_data(): c.execute("SELECT * FROM records") rows = c.fetchall() if not rows: print("No data found.") for row in rows: print(f"ID: {row[0]}, Name: {row[1]}, Age: {row[2]}, Phone: {row[3]}") def search_data(): search_term = input("Enter name to search: ") c.execute("SELECT * FROM records WHERE name LIKE ?", ('%' + search_term + '%',)) rows = c.fetchall() if rows: for row in rows: print(f"ID: {row[0]}, Name: {row[1]}, Age: {row[2]}, Phone: {row[3]}") else: print("No match found.") def help_menu(): print("\nOffline Data Entry Tool (CMD-based)") print("Commands:") print(" python main.py add → Add new record") print(" python main.py view → View all records") print(" python main.py search → Search by name") print(" python main.py help → Show this help\n") # Main logic if len(sys.argv) < 2: help_menu() elif sys.argv[1] == "add": add_data() elif sys.argv[1] == "view": view_data() elif sys.argv[1] == "search": search_data() else: help_menu() conn.close()