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.4Está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

Para que serve

mysql acessa um servidor MySQL ou MariaDB, em vez de abrir um arquivo SQLite. mariadb é um alias.

Como usar

mysql -c localhost demo shop pede a senha separadamente. -n dispensa senha; -p, -s e -charset definem porta, socket e codificação. -t/-s/-n/-f inspecionam dados; -o exporta, mysql : executa SQL e dump/load trabalham com scripts.

Limites e segurança

-a/-w/-d alteram dados reais, possivelmente várias linhas. Use usuário limitado e backup. -m pode guardar credenciais em .lil.key. Exportação até 100.000 linhas e load até 32 MiB; precisa de MySQLi e acesso ao servidor.

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.4
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 -c localhost demo shop
Status    connected
Server    MySQL / MariaDB
Host      localhost:3306
User      demo
Database  shop
Charset   utf8mb4
Conectar; a senha é solicitada separadamente, exceto com -n
mysql -c localhost demo shop -n
Status    connected
Server    MySQL / MariaDB
Host      localhost:3306
User      demo
Database  shop
Charset   utf8mb4
Conectar; a senha é solicitada separadamente, exceto com -n
mysql -c localhost demo shop -p 3307 -charset utf8mb4
Status    connected
Server    MySQL / MariaDB
Host      localhost:3307
User      demo
Database  shop
Charset   utf8mb4
Conectar; a senha é solicitada separadamente, exceto com -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 a conexão MySQL / MariaDB atual
mysql
Status    connected
Database  shop
Charset   utf8mb4
Selecionar outro banco
mysql -use shop
Status    connected
Database  shop
Listar bancos
mysql -l
shop
Listar tabelas e views
mysql -t
products	BASE TABLE
Mostrar colunas e tipos de dados
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	
Pré-visualizar linhas
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
Pesquisar texto nas colunas da tabela
mysql -f products "shoe"
id	sku	name	category	price	active
1	SHOE-1	City shoe	shoes	79.90	1
Exportar linhas da tabela
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 linhas da tabela
mysql -o products -csv tmp/products.csv
Saved  sandbox/tmp/products.csv
Tratar uma tabela ausente
mysql -o products -j tmp/products.json -f
Saved  sandbox/tmp/products.json
Inserir uma linha a partir de um objeto JSON
mysql -a products : {"sku":"NEW-1","name":"Sample","category":"test","price":5,"active":1}
Inserted  1
ID        3
Atualizar linhas correspondentes a partir de um objeto JSON
mysql -w products sku SHOE-1 : {"price":75}
Updated  1
Excluir linhas correspondentes
mysql -d products sku SHOE-1
Deleted  1
Executar SQL nativo
mysql : SELECT COUNT(*) AS total FROM products
total
2
Time  (varies) ms
Criar dump de esquema e dados
mysql dump tmp/shop.sql
Saved   sandbox/tmp/shop.sql
Tables  1
Views   0
Executar SQL de um arquivo
mysql load db/mysql.sql
MySQL error 1050: Table 'products' already exists
Salvar a conexão atual em .lil.key; usar por padrão o nome do banco
mysql -m demo
Saved  demo
Listar conexões salvas ou inspecionar uma sem mostrar a senha
mysql -k
No saved connections
Conectar usando uma conexão salva
mysql -K missing
Saved connection not found: missing
Remover uma conexão salva
mysql -M missing
Saved connection not found: missing
Desconectar e limpar os dados da conexão
mysql -e
+
Alias de @mysql
mariadb -t
products	BASE TABLE
Conectar; a senha é solicitada separadamente, exceto com -n
mysql -c localhost demo shop -p 99999
Invalid database port

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

Refinamento de produção

Versão estável atual de mysql. mysql conecta MySQL ou MariaDB, inspeciona esquema e linhas, faz alterações pontuais, exporta tabelas, executa SQL nativo e cria dumps SQL.