mysql

mysql conecta con MySQL o MariaDB, inspecciona esquema y filas, hace cambios puntuales, exporta tablas, ejecuta SQL nativo y crea volcados SQL.

Base de datosVersión 1.1.3EstableAlias: mariadb
lil-terminal

Resumen

Use mysql tanto para MySQL como para MariaDB: la contraseña queda fuera del historial, las tareas habituales de esquema y filas tienen opciones cortas y el SQL nativo sigue disponible tras :.

Tablas, filas y SQL nativo

MySQL y MariaDB son bases de datos relacionales cliente-servidor. Conviene pensar en bases, tablas, filas, columnas, índices y transacciones: el esquema de una tabla define la forma de los datos y SQL trabaja con conjuntos de filas, no con una secuencia de ediciones de archivo. El driver mysql sirve tanto MySQL como MariaDB; el SQL específico sigue disponible después de :.

Sintaxis

lil-terminal
mysql [options] · mysql : <sql>

Referencia

mysql

mostrar la conexión MySQL / MariaDB actual

mysql -c <host> <user> [database] [-p <port>] [-s <socket>] [-charset <charset>] [-n] [-m [name]]

conectarse; la contraseña se solicita por separado salvo que se use -n

-use <database>

seleccionar otra base de datos

-l

listar bases de datos

-t

listar tablas y vistas

-s <table>

mostrar columnas y tipos de datos

-n <table> [rows]

previsualizar filas de una tabla

-f <table> <text> [rows]

buscar texto en las columnas de una tabla

-o <table> [-j|-csv] [file] [-f]

exportar filas de una tabla

-a <table> : <json>

insertar una fila desde un objeto JSON

-w <table> <field> <value> : <json>

actualizar las filas coincidentes desde un objeto JSON

-d <table> <field> <value>

eliminar las filas coincidentes

-m [name]

guardar la conexión actual en .lil.key; usar por defecto el nombre de la base

-M <name>

eliminar una conexión guardada

-k [name]

listar conexiones guardadas o inspeccionar una sin mostrar su contraseña

-K <name>

conectar usando una conexión guardada

-e

desconectarse y borrar los datos de conexión

mysql : <sql>

ejecutar SQL nativo

mysql load <file.sql>

ejecutar SQL desde un archivo

mysql dump [file.sql] [-f]

crear un volcado de esquema y datos

mariadb [options]

alias de @mysql

Modelo de trabajo

-l/-t/-s/-n/-f cubren la inspección habitual, -o exporta JSON/CSV y -a/-w/-d permiten cambios puntuales basados en JSON.

Copias y restauración

dump crea un volcado SQL de esquema y datos sin shell; load ejecuta un archivo SQL.

Seguridad

Conviene usar una cuenta restringida y revisar las sentencias destructivas.

-charset selecciona el juego de caracteres de la conexión. Una exportación de más de 100000 filas se rechaza en lugar de guardar un archivo parcial.

Conexiones guardadas

Sin -m, los datos de conexión permanecen limitados a la sesión PHP actual. -m [name] guarda explícitamente el perfil en el archivo protegido .lil.key (0600), -K <name> vuelve a conectar con él, -k lista o inspecciona perfiles sin revelar una contraseña guardada y -M <name> elimina uno. kill elimina .lil.key junto con el resto del estado del núcleo. Trate el archivo como sensible porque un perfil guardado de forma voluntaria puede contener credenciales de base de datos.

Vista interactiva del sandbox

Ejecuta los ejemplos preparados directamente en la página. Los resultados están predefinidos y se muestran en el navegador; no se ejecuta ningún comando de terminal en el servidor.

Inspeccionar una tabla MySQL / MariaDB

Instalar y administrar

Instala la versión compatible actual. Elige Base para el conjunto completo de funciones o Minimum para el paquete reducido; usa upgrade para actualizar un módulo ya instalado.

Base y Minimum son dos paquetes de la misma versión actual del módulo.

Paquete Base

Instala el paquete completo con referencia local y todos los modos publicados.

install mysql
Paquete Minimum

Instalar el paquete reducido. No incluye la referencia local; help <cmd> -i abre la referencia actual del servidor.

install mysql -m
Versión pública exacta

Instalar exactamente esta versión publicada.

install mysql -v 1.1.3
Comprobar o actualizar

upgrade comprueba la compatibilidad y sustituye el bloque solo cuando hace falta.

upgrade mysql
Eliminar módulo

Elimina el bloque de extensión sin tocar el núcleo ni otros módulos.

install mysql -u

Ejemplos

Los ejemplos se pueden copiar, pero el sitio no los ejecuta. Revisa rutas, permisos y opciones destructivas.

Inspeccionar una tabla MySQL / MariaDB
mysql -use shop | mysql -t | mysql -n products 5
Database  shop

products
orders

id	sku	name	category	price	active
1	SHOE-1	City shoe	shoes	79.90	1
2	SHOE-2	Trail shoe	shoes	109.00	1
3	BAG-1	Canvas bag	bags	44.50	1
Mysql · localhost
mysql -c localhost app shop
Status    connected
Server    MySQL / MariaDB
Host      localhost:3306
User      app
Database  shop
Charset   utf8mb4
Mysql · -l
mysql -l
information_schema
shop
Mysql · products
mysql -s products
Field     Type          Null  Key
id        bigint        NO    PRI
sku       varchar(64)   NO    UNI
name      varchar(180)  NO
category  varchar(80)   NO
price     decimal(10,2) NO
active    tinyint(1)    NO
Mysql · products
mysql -f products "shoe" 20
id	sku	name	category	price
1	SHOE-1	City shoe	shoes	79.90
2	SHOE-2	Trail shoe	shoes	109.00
Mysql · products
mysql -o products -j products.json
Saved  products.json
Mysql · products
mysql -a products : {"sku":"BAG-1","name":"Travel bag","price":49.90}
Inserted  1
Mysql · products
mysql -w products sku BAG-1 : {"price":44.90}
Updated  1
Mysql · products
mysql -d products sku BAG-1
Deleted  1
Mysql · select
mysql : SELECT COUNT(*) AS products FROM products
products
4
Mysql · dump
mysql dump shop.sql
Saved   shop.sql
Tables  2
Views   0
Mysql · load
mysql load \sandbox\db\mysql.sql
Affected  1
Affected  0
Affected  0
Affected  2
Time      2 ms
Mysql · -e
mysql -e
+
Gestionar una tabla ausente
mysql -s missing_table
Tabla no encontrada: missing_table

Archivo usado en este ejemplo: sandbox/db/mysql.sql

El ejemplo usa un archivo o directorio del espacio protegido de documentación /sandbox/.

CREATE DATABASE IF NOT EXISTS shop CHARACTER SET utf8mb4;
USE shop;
CREATE TABLE products (id BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY, sku VARCHAR(64) UNIQUE NOT NULL, name VARCHAR(180) NOT NULL, category VARCHAR(80) NOT NULL, price DECIMAL(10,2) NOT NULL, active TINYINT(1) NOT NULL DEFAULT 1);
INSERT INTO products(sku,name,category,price,active) VALUES ('SHOE-1','City shoe','shoes',79.90,1),('BAG-1','Canvas bag','bags',44.50,1);

Documentación relacionada

Versión pública actual

v1.1.32026-08-14

Conexiones guardadas

Añade perfiles explícitos -m/-M/-k/-K en .lil.key; los listados nunca revelan una contraseña guardada.