mysql

mysql conecta MySQL ou MariaDB, inspeciona esquema e linhas, faz alterações pontuais, exporta tabelas, executa SQL nativo e cria dumps SQL.

Banco de dadosVersão 1.1.3EstávelAliases: mariadb
lil-terminal

Visão geral

Use mysql para MySQL e MariaDB: a senha fica fora do histórico, tarefas comuns de esquema e linhas têm opções curtas e o SQL nativo continua disponível depois de :.

Tabelas, linhas e SQL nativo

MySQL e MariaDB são bancos relacionais cliente-servidor. Pense em bancos, tabelas, linhas, colunas, índices e transações: o esquema da tabela restringe a forma dos dados, e SQL descreve conjuntos de linhas em vez de uma sequência de edições de arquivo. O driver mysql atende MySQL e MariaDB; SQL específico do mecanismo continua disponível depois de :.

Sintaxe

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

Referência

mysql

mostrar a conexão MySQL / MariaDB atual

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

conectar; a senha é solicitada separadamente, exceto com -n

-use <database>

selecionar outro banco

-l

listar bancos

-t

listar tabelas e views

-s <table>

mostrar colunas e tipos de dados

-n <table> [rows]

pré-visualizar linhas

-f <table> <text> [rows]

pesquisar texto nas colunas da tabela

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

exportar linhas da tabela

-a <table> : <json>

inserir uma linha a partir de um objeto JSON

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

atualizar linhas correspondentes a partir de um objeto JSON

-d <table> <field> <value>

excluir linhas correspondentes

-m [name]

salvar a conexão atual em .lil.key; usar por padrão o nome do banco

-M <name>

remover uma conexão salva

-k [name]

listar conexões salvas ou inspecionar uma sem mostrar a senha

-K <name>

conectar usando uma conexão salva

-e

desconectar e limpar os dados da conexão

mysql : <sql>

executar SQL nativo

mysql load <file.sql>

executar SQL de um arquivo

mysql dump [file.sql] [-f]

criar dump de esquema e dados

mariadb [options]

alias de @mysql

Modelo de trabalho

As formas comuns aparecem na referência local. Os atalhos cobrem inspeção e alterações pontuais; a sintaxe nativa continua disponível para operações avançadas.

Backup e restauração

dump/load seguem o formato do driver. Para backups completos de todos os recursos do motor, use as ferramentas nativas do servidor.

Segurança

As senhas são digitadas em campo oculto e não entram no histórico. Sempre que possível, use contas com privilégios limitados.

-charset seleciona o conjunto de caracteres da conexão. A exportação de uma tabela com mais de 100000 linhas é recusada em vez de gravar um arquivo parcial.

Conexões salvas

Sem -m, os dados de conexão ficam restritos à sessão PHP atual. -m [name] salva explicitamente o perfil no arquivo protegido .lil.key (0600), -K <name> reconecta por ele, -k lista ou inspeciona perfis sem expor uma senha salva e -M <name> remove um perfil. kill remove .lil.key junto com o restante do estado do núcleo. Trate o arquivo como sensível, pois um perfil salvo de forma voluntária pode conter credenciais de banco de dados.

Prévia interativa do sandbox

Execute os exemplos preparados diretamente na página. Os resultados são predefinidos e exibidos no navegador; nenhum comando do terminal é executado no servidor.

Inspecionar uma tabela MySQL / MariaDB

Instalar e gerenciar

Instale a versão compatível atual. Escolha Base para o conjunto completo de recursos ou Minimum para o pacote reduzido; use upgrade para atualizar um módulo já instalado.

Base e Minimum são dois pacotes da mesma versão atual do módulo.

Pacote Base

Instala o pacote completo com referência local e todos os modos publicados.

install mysql
Pacote Minimum

Instalar o pacote reduzido. A referência local é omitida; help <cmd> -i abre a referência atual do servidor.

install mysql -m
Versão pública exata

Instalar exatamente esta versão publicada.

install mysql -v 1.1.3
Verificar ou atualizar

upgrade verifica compatibilidade e substitui o bloco somente quando necessário.

upgrade mysql
Remover módulo

Remove o bloco da extensão sem afetar o núcleo ou outros módulos.

install mysql -u

Exemplos

Os exemplos podem ser copiados, mas o site não os executa. Revise caminhos, permissões e opções destrutivas.

Inspecionar uma tabela 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
+
Tratar uma tabela ausente
mysql -s missing_table
Tabela não encontrada: missing_table

Arquivo usado neste exemplo: sandbox/db/mysql.sql

O exemplo usa um arquivo ou diretório do espaço protegido de documentação /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);

Documentação relacionada

Versão pública atual

v1.1.32026-08-14

Conexões salvas

Adiciona perfis explícitos -m/-M/-k/-K em .lil.key; as listas nunca revelam uma senha salva.