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.4EstableAlias: 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

Para qué sirve

mysql se conecta a un servidor MySQL o MariaDB; no abre archivos SQLite. mariadb es un alias del mismo módulo.

Pasos prácticos

mysql -c localhost demo shop solicita la contraseña aparte; -n conecta sin contraseña, -p cambia el puerto, -s el socket y -charset la codificación. -t/-s/-n/-f inspeccionan tablas y filas; -o exporta, mysql : ejecuta SQL y dump/load gestionan scripts SQL.

Límites y seguridad

-a/-w/-d insertan, modifican y eliminan registros reales, a veces varios a la vez. Usa permisos limitados y copias. -m puede guardar credenciales en .lil.key; exportación máxima de 100.000 filas y load hasta 32 MiB. Requiere MySQLi y acceso al servidor.

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.4
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 -c localhost demo shop
Status    connected
Server    MySQL / MariaDB
Host      localhost:3306
User      demo
Database  shop
Charset   utf8mb4
Conectarse; la contraseña se solicita por separado salvo que se use -n
mysql -c localhost demo shop -n
Status    connected
Server    MySQL / MariaDB
Host      localhost:3306
User      demo
Database  shop
Charset   utf8mb4
Conectarse; la contraseña se solicita por separado salvo que se use -n
mysql -c localhost demo shop -p 3307 -charset utf8mb4
Status    connected
Server    MySQL / MariaDB
Host      localhost:3307
User      demo
Database  shop
Charset   utf8mb4
Conectarse; la contraseña se solicita por separado salvo que se use -n
mysql -c localhost demo shop -s /tmp/mysql.sock -n
Status    connected
Server    MySQL / MariaDB
Host      localhost:3306
User      demo
Database  shop
Charset   utf8mb4
Mostrar la conexión MySQL / MariaDB actual
mysql
Status    connected
Database  shop
Charset   utf8mb4
Seleccionar otra base de datos
mysql -use shop
Status    connected
Database  shop
Listar bases de datos
mysql -l
shop
Listar tablas y vistas
mysql -t
products	BASE TABLE
Mostrar columnas y tipos de datos
mysql -s products
Field	Type	Null	Key	Default	Extra
id	bigint unsigned	NO	PRI	NULL	auto_increment
sku	varchar(64)	NO	UNI	NULL	
name	varchar(180)	NO		NULL	
category	varchar(80)	NO		NULL	
price	decimal(10,2)	NO		NULL	
active	tinyint(1)	NO		1	
Previsualizar filas de una tabla
mysql -n products 2
id	sku	name	category	price	active
1	SHOE-1	City shoe	shoes	79.90	1
2	BAG-1	Canvas bag	bags	44.50	1
Buscar texto en las columnas de una tabla
mysql -f products "shoe"
id	sku	name	category	price	active
1	SHOE-1	City shoe	shoes	79.90	1
Exportar filas de una tabla
mysql -o products -j
[
  {
    "id": 1,
    "sku": "SHOE-1",
    "name": "City shoe",
    "category": "shoes",
    "price": "79.90",
    "active": 1
  },
  {
    "id": 2,
    "sku": "BAG-1",
    "name": "Canvas bag",
    "category": "bags",
    "price": "44.50",
    "active": 1
  }
]
Exportar filas de una tabla
mysql -o products -csv tmp/products.csv
Saved  sandbox/tmp/products.csv
Gestionar una tabla ausente
mysql -o products -j tmp/products.json -f
Saved  sandbox/tmp/products.json
Insertar una fila desde un objeto JSON
mysql -a products : {"sku":"NEW-1","name":"Sample","category":"test","price":5,"active":1}
Inserted  1
ID        3
Actualizar las filas coincidentes desde un objeto JSON
mysql -w products sku SHOE-1 : {"price":75}
Updated  1
Eliminar las filas coincidentes
mysql -d products sku SHOE-1
Deleted  1
Ejecutar SQL nativo
mysql : SELECT COUNT(*) AS total FROM products
total
2
Time  (varies) ms
Crear un volcado de esquema y datos
mysql dump tmp/shop.sql
Saved   sandbox/tmp/shop.sql
Tables  1
Views   0
Ejecutar SQL desde un archivo
mysql load db/mysql.sql
MySQL error 1050: Table 'products' already exists
Guardar la conexión actual en .lil.key; usar por defecto el nombre de la base
mysql -m demo
Saved  demo
Listar conexiones guardadas o inspeccionar una sin mostrar su contraseña
mysql -k
No saved connections
Conectar usando una conexión guardada
mysql -K missing
Saved connection not found: missing
Eliminar una conexión guardada
mysql -M missing
Saved connection not found: missing
Desconectarse y borrar los datos de conexión
mysql -e
+
Alias de @mysql
mariadb -t
products	BASE TABLE
Conectarse; la contraseña se solicita por separado salvo que se use -n
mysql -c localhost demo shop -p 99999
Invalid database port

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.42026-11-01

Refinamiento de producción

Versión estable actual de mysql. mysql conecta con MySQL o MariaDB, inspecciona esquema y filas, hace cambios puntuales, exporta tablas, ejecuta SQL nativo y crea volcados SQL.