Ir al contenido

Cliente de BD

El Cliente de BD de Blyck maneja los cinco motores SQLite · Oracle · PostgreSQL · MSSQL · MySQL con la misma interfaz. Sin herramientas de BD aparte, en una sola ventana realizas la conexión · exploración de esquema · escritura de SQL · análisis de resultados · modificación de datos · exportación · generación de SQL a partir de lenguaje natural.

En el menú de pestaña nueva (+) selecciona un motor o haz clic en una conexión guardada.

MotorEntrada obligatoriaPuerto predeterminadoNotas
SQLiteRuta del archivoCambio automático a solo lectura si supera 256 MB·está bloqueado
OracleHost · Port · Service Name · usuario · contraseña1521Thin por defecto → fallback automático a Thick si falla
PostgreSQLHost · Port · Database · usuario · contraseña5432Opciones de esquema·SSL
MSSQLHost (servidor\instancia) · Port · Database · usuario · contraseña1433Solo autenticación SQL (no admite autenticación integrada de Windows)
MySQLHost · Port · Database · usuario · contraseña3306Opción SSL

Si activas la opción Forzar Thick en el diálogo de conexión, siempre se conecta en modo Thick. Por defecto intenta primero Thin y, si falla, hace fallback a Thick; tras conectar, en la cabecera se muestra Oracle conectado (Thin) o Oracle conectado (Thick). Al usar el modo Thick debes introducir en el diálogo la ruta del Oracle Instant Client de 64 bits.

Conexiones guardadas y autocompletado de contraseña

Sección titulada «Conexiones guardadas y autocompletado de contraseña»

Si introduces un nombre para guardar en el diálogo de conexión, los datos de conexión se almacenan de forma permanente. La contraseña se protege con cifrado del SO (Windows DPAPI / macOS Keychain) y, a partir de entonces, te conectas al instante con un solo clic sin introducir la contraseña.


Al conectar, en el árbol de la izquierda se muestran las secciones TABLES / VIEWS / INDEXES / TRIGGERS / ROUTINES.

  • Al desplegar tablas · vistas se muestra la lista de columnas (nombre · tipo · icono de PK), y con doble clic se ejecuta de inmediato en el editor SQL la consulta de las primeras 200 filas.
  • Con doble clic en índices · triggers · rutinas se carga el DDL en el editor.
  • Puedes arrastrar al editor SQL nombres de tablas·columnas del árbol para insertarlos.

En la barra de búsqueda superior seleccionas el ámbito nombre / columna / ambos para buscar. Al buscar por columna, la tabla correspondiente se despliega automáticamente y en la cabecera se muestra el recuento N / total.

ElementoAcción
Consulta detalladaTipo de columna · si admite NULL · valor predeterminado · información de índices
Consultar primeras 200 filasEjecuta automáticamente la consulta acorde al dialecto del motor (LIMIT / TOP / ROWNUM)
Ver DDLCarga la sentencia CREATE en el editor
Analizar columnaProporción de NULL · número de valores únicos · valor más frecuente · estadísticas numéricas (min/max/media, basadas en muestra)

Al ejecutar una consulta DDL, tras 500 ms el árbol se reindexa automáticamente en segundo plano para reflejar los cambios. Para actualizar manualmente, haz clic en el botón de la cabecera.


Abre el editor con doble clic en una tabla o con el botón Nueva consulta de la cabecera del árbol.

BotónAcción
Alternar la barra de entrada lenguaje natural→SQL
Ejecutar la consulta (Ctrl+Enter)
Detener la ejecución (activo solo durante la ejecución)
+Añadir pestaña SQL

En la parte inferior del riel se muestra la lista de pestañas SQL del panel actual, lo que permite alternar rápidamente entre pestañas.

  • nombreBD — SQL ▾: desplegable para cambiar de conexión
  • Casilla de autocommit / commit / rollback
  • IA (Ctrl+I): IA de celda (analiza el rango seleccionado de la cuadrícula)
  • Historial / Snippets / Exportar ▾ / Formato / Cerrar (Esc)
  • Ejecuta con Ctrl+Enter o el botón ▶.
  • Si ejecutas con texto seleccionado, solo se ejecuta el rango seleccionado.
  • Los nombres de tablas·columnas de la BD conectada se autocompletan.
  • El botón Formato ejecuta el formateador integrado tomando como base los saltos de línea antes de las cláusulas SQL.
  • Tras ejecutar DML, en la línea de estado se muestra Completado — N filas modificadas · X ms o un error en rojo.

Si desactivas la casilla de autocommit, pasas al modo de transacción manual. Aunque ejecutes DML, no se confirma de inmediato y queda en estado ● sin confirmar. Confirma con el botón commit o revierte con el botón rollback.


Cancelación de consultas del lado del servidor (■ Detener)

Sección titulada «Cancelación de consultas del lado del servidor (■ Detener)»

Al hacer clic en el botón ■, la cancelación procede en dos fases.

  1. Cancelación blanda (inmediata) — La UI vuelve de inmediato e invalida el token para descartar el resultado. En la línea de estado se muestra Ejecución interrumpida.
  2. Cancelación del lado del servidor (best-effort) — Envía la señal de cancelación al motor. Si el servidor de BD la reconoce en su checkpoint, la consulta se interrumpe.
MotorMétodo de cancelación
Oracleconnection.break() → devuelve ORA-01013
MSSQLrequest.cancel() → paquete TDS Attention
PostgreSQLpg_cancel_backend(pid) por una conexión aparte — mantiene la conexión existente
MySQLKILL QUERY threadId por una conexión aparte — mantiene la conexión existente
SQLiteSin cancelación de servidor — solo cancelación blanda (interrupción inmediata)

Al hacer clic en el título del editor SQL nombreBD — SQL ▾ se muestra la lista de todas las conexiones de BD abiertas actualmente, con un ✓ en la conexión actual. Al seleccionar una conexión, se mantiene el SQL del editor tal cual y solo cambia la BD destino de ejecución.


Los resultados se muestran en una cuadrícula con scroll virtual, lo que permite explorar con fluidez incluso cientos de miles de filas.

  • La columna de número de fila (#) queda fija aunque hagas scroll horizontal. Al hacer clic se abre el visor de detalle de fila.
  • En la barra de estado se muestra la información de ejecución N filas · X ms.
  • NULL se marca de forma diferenciada como NULL (se distingue de la cadena vacía).
  • El ancho de columna se ajusta arrastrando.
  • Ordenar: al hacer clic en la cabecera de columna alterna entre ascendente (▲) · descendente (▼).
  • Filtrar: al escribir texto en el campo de entrada superior se filtra en tiempo real por coincidencia parcial en todas las columnas (solo filtra las filas mostradas, sin reconsultar la BD).

Muestra 5000 filas de forma predeterminada y, al superarlas, con el botón 5000 filas más carga acumulativamente mediante OFFSET/FETCH.

Selecciona un rango rectangular arrastrando y, con Exportar ▾ → Portapapeles (TSV), lo copias para pegarlo directamente en Excel. Con Shift+doble clic ves el valor completo de la celda en el visor.


La edición de celdas solo se activa cuando el resultado es un SELECT de una sola tabla y se incluye la columna PK.

  1. Haz doble clic en una celda para modificar el valor.
  2. Al hacer clic en el botón commit, se añade al editor la sentencia UPDATE … WHERE PK=….
  3. Ejecuta con Ctrl+Enter para aplicarla.

El cambio ejecutado se registra en el historial de cambios (Ctrl+Shift+H) como cualquier otro DML y se puede revertir.


Añadir filas nuevas · copiar filas → INSERT

Sección titulada «Añadir filas nuevas · copiar filas → INSERT»

Con los botones + Fila o Copiar fila de la barra de herramientas de la cuadrícula de resultados puedes usar INSERT en preparación (staged).

BotónAcción
+ FilaAñade una fila vacía (si se deja vacía, NULL)
Copiar filaAñade una fila nueva con todos los valores de columna de la fila seleccionada duplicados

Tras añadir filas y editar las celdas, haz clic en el botón Guardar. Al guardar, se desactiva temporalmente el autocommit y se ejecuta el INSERT, de modo que después confirmas con commit o cancelas con rollback.


Selecciona Exportar ▾CSV o Excel.

  • Modo streaming: el proceso principal transmite directamente al disco, por lo que puedes guardar millones de filas sin preocuparte por la memoria.
  • En el modal de progreso se muestra N / total de filas (X%) y puedes interrumpir a mitad con el botón Cancelar.
  • CSV: incluye BOM UTF-8 (el coreano se muestra correctamente en Excel).
  • Excel (.xls): límite de 1 048 575 filas.

Con el botón del riel izquierdo del editor SQL alternas la barra de entrada de lenguaje natural.

▸ Los 5 principales clientes por ventas de este mes
▸ Muéstrame el número de usuarios registrados la semana pasada, por día

Orden de funcionamiento: análisis de palabras clave → puntuación del esquema completo de la conexión activa → selección de tablas·columnas relevantes → generación de SQL (con el estado de progreso y el tiempo transcurrido de cada paso). El SQL generado se inserta debajo de la línea del cursor (sin sobrescribir el contenido existente). Puedes deshacerlo con Ctrl+Z e interrumpir la generación con el botón Cancelar.

El SQL generado entra en el editor, por lo que lo ejecutas tú tras revisarlo — no se ejecuta automáticamente.


Guarda el SQL que usas con frecuencia para invocarlo rápidamente.

  • Clic en el botón Snippets de la barra de herramientas → Guardar SQL actual (introduce un nombre; si lo dejas vacío, se usa automáticamente el comienzo del SQL).
  • Al hacer clic en un elemento se carga en el editor, y con ✕ lo eliminas.
  • Los snippets se guardan globalmente y se pueden usar desde cualquier editor de BD.

Al hacer clic en el botón Historial de la barra de herramientas, se muestran las consultas exitosas en orden cronológico inverso (eliminación automática de duplicados). Al hacer clic en un elemento se carga en el editor. El historial se guarda en userData/db-history.json.


Tras seleccionar un rango de celdas en la cuadrícula, al pulsar Ctrl+I o el botón IA de la barra de herramientas, puedes preguntar a la IA usando los datos seleccionados como contexto.

▸ Analiza los valores atípicos entre estos
▸ Crea una consulta UPDATE con estos datos
▸ ¿Por qué hay columnas con alta proporción de NULL?

Analiza usando como contexto los valores seleccionados · nombre de tabla · SQL ejecutado · información de PK · tipo de motor. Si superan las 200 filas, solo se transmiten las primeras 200.


Al seleccionar Analizar columna con clic derecho en el árbol, puedes ver estadísticas reales de los datos de la tabla basadas en muestra.

Columna status — NULL 2,3% · Distinct 4 (active, inactive, pending, blocked) · valor más frecuente active 87%
Columna amount — NULL 0% · min 100 · max 9 800 000 · media 452 000

Proporciona proporción de NULL · número de valores únicos · candidatos a enum y, si es numérico, min/max/media. Úsalo para conocer las características de una columna antes de escribir la consulta o para el diseño de índices.


Las consultas que ejecutas directamente con Ctrl+Enter en el editor SQL se ejecutan al instante sin confirmación (para usuarios avanzados). A cambio, todo DDL/DML se registra automáticamente en el historial de cambios y se puede revertir (ver más abajo). Hay dos casos en los que aparece una ventana de confirmación antes de ejecutar.

RutaAcción
SQL que ejecuta la IA (herramienta db_query)Las lecturas son automáticas; las escrituras·destructivas (DROP/TRUNCATE/DELETE sin WHERE, etc.) pasan por un diálogo de confirmación. Las conexiones con etiqueta prod se refuerzan un escalón
▶ Ejecutar un bloque de código SQL (respuesta de IA·code lens del editor)DROP/DELETE/UPDATE/TRUNCATE/ALTER/GRANT/REVOKE, etc., se confirman junto con una vista previa de la consulta

Operaciones como clic derecho en el árbol de esquema → DROP TABLE… pasan por una confirmación reforzada que requiere escribir el nombre de la tabla para ejecutarse.

Al ejecutar DDL/DML, los datos previos al cambio se respaldan automáticamente, de modo que se puede revertir tanto la ejecución humana como la de la IA.

  • Volumen pequeño (≤1000 filas, tabla única con PK): las filas previas al cambio se conservan en JSON en la BD interna de historial.
  • Volumen grande / complejo / sin PK: se crea una tabla de respaldo (blyck_bak_…) en la BD destino para conservarlas, y se elimina automáticamente tras la reversión.
  • Algunos DDL como DROP / TRUNCATE no admiten SQL inverso, por lo que se marcan como elementos no reversibles.

Selecciona un elemento en el historial de cambios (Ctrl+Shift+H) y haz la reversión. Los UPDATE · DELETE masivos sin WHERE también se pueden restaurar desde los datos de respaldo.


El Chat con IA invoca directamente las herramientas de BD.

▸ Encuentra correos duplicados en esta tabla
▸ Muéstrame el esquema de orders y recomienda índices
▸ TOP 10 clientes con mayor tasa de cancelación de pedidos el mes pasado

Orden de funcionamiento: comprobar el esquema (db_schema) → analizar columnas si es necesario → escribir·ejecutar la consulta (db_query) → autocorrección si falla. Las consultas de escritura siempre pasan por las salvaguardas anteriores (diálogo de confirmación).


FunciónDocumento
Vincular BD al editor SQL para autocompletado de SQL dentro del códigoEditor de código
Esquema de BD·resultados con Búsqueda RAGBúsqueda unificada (RAG)
Historial de cambios·reversión de DMLHistorial de cambios · Git
Automatizar tareas de BD con el Chat con IAChat con IA

Aparece el error Oracle NJS-116.
Es un método de verificador de contraseña que el controlador Thin no admite. En el diálogo de conexión activa Forzar Thick e introduce la ruta del Instant Client de 64 bits.

Pulsé ■ Detener pero la consulta no se para.
La cancelación del lado del servidor es best-effort y se reconoce en el siguiente checkpoint. Espera un momento en consultas de agregación pesadas. SQLite no tiene fase de servidor, así que se interrumpe al instante.

La app se cierra durante una consulta masiva.
En lugar de copiar al portapapeles desde la cuadrícula, usa Exportar ▾ (streaming a disco). Excel tiene un límite de 1 millón de filas.

Abrí el CSV en Excel y los caracteres están corruptos.
El CSV se guarda con BOM UTF-8. Usa Importar datos de Excel → especificar codificación 65001 UTF-8, o pega directamente con Portapapeles (TSV).

No puedo editar las celdas.
Solo se activa en resultados de SELECT de una sola tabla que incluyan la columna PK. No se pueden editar resultados con JOIN · GROUP BY · UNION · DISTINCT ni resultados de vistas.

El resultado de lenguaje natural→SQL usa tablas equivocadas.
Reconstruye el índice y registra términos de negocio·mapeos de tablas en el 📒 Glosario para aumentar la precisión.

Justo tras conectar, el árbol está vacío.
La indexación del esquema puede tardar unos segundos tras conectar con éxito. Prueba a hacer clic en el botón de la cabecera. Si está en curso un fallback Thick de Oracle, la conexión puede tardar más en completarse.