import pandas as pd import gradio as gr def generate_sql(file, operation, table_name): if file is None or not table_name: return "Please upload a CSV file and enter a table name." df = pd.read_csv(file.name) columns = df.columns.tolist() queries = [] if operation == "ADD": for _, row in df.iterrows(): values = tuple(row) query = f"INSERT INTO {table_name} ({', '.join(columns)}) VALUES {values};" queries.append(query) elif operation == "UPDATE": primary_key = columns[0] # Assuming the first column is the primary key for _, row in df.iterrows(): set_clause = ', '.join([f"{col}='{row[col]}'" for col in columns[1:]]) query = f"UPDATE {table_name} SET {set_clause} WHERE {primary_key}='{row[primary_key]}';" queries.append(query) elif operation == "DELETE": primary_key = columns[0] for _, row in df.iterrows(): query = f"DELETE FROM {table_name} WHERE {primary_key}='{row[primary_key]}';" queries.append(query) return "\n".join(queries) iface = gr.Interface( fn=generate_sql, inputs=[ gr.File(label="Upload CSV File"), gr.Radio(["ADD", "UPDATE", "DELETE"], label="Select Operation"), gr.Textbox(label="Enter Table Name") ], outputs=gr.Textbox(label="Generated SQL Queries"), title="CSV to SQL Query Converter", description="
© 2025 Sandaru Abeykoon. All rights reserved.
", ) iface.launch()