Una aplicación de consola interactiva para gestionar bases de datos SQLite con una interfaz CRUD completa.
- Gestión de Bases de Datos: Crear, renombrar, eliminar y cambiar entre múltiples bases de datos
- Operaciones CRUD Completas: Crear, leer, actualizar y eliminar tablas y registros
- Gestión de Columnas: Agregar, modificar y eliminar columnas dinámicamente
- Interfaz Atractiva: Banner ASCII con colores y animaciones usando Rich y pyfiglet
- Menú Intuitivo: Sistema de menús fácil de navegar con opciones numeradas
- Búsqueda Avanzada: Buscar registros por cualquier columna con coincidencias parciales
- Visualización de Datos: Tablas formateadas con colores para mejor legibilidad
- Clona el repositorio:
git clone https://github.com/nocturne-cybersecurity/WDB.git
cd WSQLInstala python si aún no lo tienes: Linux:
sudo apt install python3Windows:
winget install Python.Python.3- Crea un entorno virtual:
python -m venv .venv- Activa el entorno virtual:
- Windows:
.venv\Scripts\activate - Linux/Mac:
source .venv/bin/activate
- Instala las dependencias:
pip install -r requirements.txtEjecuta la aplicación principal:
python3 main.pySi no funciona python3:
python main.py- Database Manager: Se abre automáticamente al iniciar para gestionar bases de datos
- Seleccionar o Crear BD: Elige una base de datos existente o crea una nueva
- Operaciones CRUD: Accede al menú principal para gestionar tablas y datos
- [N] Nueva base de datos
- [R] Renombrar base de datos
- Eliminar base de datos
- [V] Volver al CRUD
- [1] Crear tabla
- [2] Agregar columna
- [3] Insertar fila
- [4] Buscar filas
- [5] Ver columnas de una tabla
- [6] Agregar texto a una celda
- [7] Reescribir texto en una celda
- [8] Mostrar tabla completa
- [9] Eliminar tabla
- [10] Eliminar fila
- [11] Eliminar columna
- [12] Eliminar base de datos
- [13] Configurar base de datos
- [14] Mostrar todas las tablas
- [15] Database Manager
- [16] Salir
WSQL/
├── main.py # Punto de entrada principal
├── CRUD.py # Módulo de operaciones CRUD
├── requirements.txt # Dependencias del proyecto
├── README.md # Documentación
└── databases/ # Carpeta para bases de datos (creada automáticamente)
- colorama: Para colores en la consola
- pyfiglet: Para generar arte ASCII
- rich: Para interfaces mejoradas en consola
- sqlite3: Para gestión de bases de datos SQLite (incluido en Python estándar)
Nombre de la nueva tabla: usuarios
Columnas (ej: nombre TEXT, edad INTEGER): nombre TEXT, email TEXT, edad INTEGER
Selecciona tabla: usuarios
Ingresa los valores:
nombre: Juan Pérez
email: juan@example.com
edad: 25
Selecciona tabla: usuarios
Buscar por columna: nombre
Valor de 'nombre': Juan
- Ctrl+C: Salir del programa en cualquier momento
- Enter: Confirmar selecciones y continuar
- Las bases de datos se guardan automáticamente en la carpeta
databases/ - Todas las tablas incluyen un campo
idautoincremental como clave primaria - El programa mantiene un registro de la base de datos activa
- Los cambios se guardan automáticamente en la base de datos
Este proyecto es de código abierto y está disponible bajo la Licencia MIT.
¡Las contribuciones son bienvenidas! Por favor:
- Fork el proyecto
- Crea una rama para tu feature
- Commit tus cambios
- Push a la rama
- Abre un Pull Request
Desarrollado como una herramienta de gestión de bases de datos SQLite con interfaz de consola moderna.