mysql

mysql si collega a MySQL o MariaDB, ispeziona schema e righe, applica modifiche mirate, esporta tabelle, esegue SQL nativo e crea dump SQL.

DatabaseVersione 1.1.4StabileAlias: mariadb
lil-terminal

Panoramica

Usa mysql sia per MySQL sia per MariaDB: la password resta fuori dalla cronologia, le operazioni comuni su schema e righe hanno opzioni brevi e il SQL nativo rimane disponibile dopo :.

Tabelle, righe e SQL nativo

MySQL e MariaDB sono database relazionali client-server. È utile pensare a database, tabelle, righe, colonne, indici e transazioni: lo schema della tabella vincola la forma dei dati e SQL descrive insiemi di righe, non una sequenza di modifiche a file. Il driver mysql serve sia MySQL sia MariaDB; il SQL specifico del motore resta disponibile dopo :.

Sintassi

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

Riferimento

mysql

mostrare la connessione MySQL / MariaDB corrente

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

connettersi; la password viene richiesta separatamente salvo con -n

-use <database>

selezionare un altro database

-l

elencare i database

-t

elencare tabelle e viste

-s <table>

mostrare colonne e tipi di dati

-n <table> [rows]

mostrare un’anteprima delle righe

-f <table> <text> [rows]

cercare testo nelle colonne della tabella

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

esportare le righe della tabella

-a <table> : <json>

inserire una riga da un oggetto JSON

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

aggiornare le righe corrispondenti da un oggetto JSON

-d <table> <field> <value>

eliminare le righe corrispondenti

-m [name]

salvare la connessione corrente in .lil.key; usare per default il nome del database

-M <name>

rimuovere una connessione salvata

-k [name]

elencare le connessioni salvate o esaminarne una senza mostrare la password

-K <name>

connettersi usando una connessione salvata

-e

disconnettersi e cancellare i dati di connessione

mysql : <sql>

eseguire SQL nativo

mysql load <file.sql>

eseguire SQL da un file

mysql dump [file.sql] [-f]

creare un dump di schema e dati

mariadb [options]

alias di @mysql

A cosa serve

mysql si collega a un server MySQL o MariaDB, non a un file locale. mariadb è un alias.

Passaggi pratici

mysql -c localhost demo shop richiede la password in una finestra separata. -n si usa senza password, -p imposta la porta, -s il socket e -charset la codifica. -t/-s/-n/-f leggono tabelle e righe; -o esporta, mysql : esegue SQL e dump/load gestiscono gli script.

Limiti e sicurezza

-a/-w/-d modificano davvero i dati, anche più righe. Usa un account limitato e un backup. -m può salvare credenziali in .lil.key. L’esportazione si ferma oltre 100.000 righe e load oltre 32 MiB; servono MySQLi e il server.

Anteprima interattiva del sandbox

Esegui gli esempi preparati direttamente nella pagina. I risultati sono predefiniti e mostrati nel browser; sul server non viene eseguito alcun comando del terminale.

Ispezionare una tabella MySQL / MariaDB

Installa e gestisci

Installa la versione compatibile corrente. Scegli Base per tutte le funzioni o Minimum per il pacchetto ridotto; usa upgrade per aggiornare un modulo già installato.

Base e Minimum sono due pacchetti della stessa release corrente del modulo.

Pacchetto Base

Installa il pacchetto completo con riferimento locale e tutte le modalità pubblicate.

install mysql
Pacchetto Minimum

Installa il pacchetto ridotto. Il riferimento locale è omesso; help <cmd> -i apre il riferimento server corrente.

install mysql -m
Versione pubblica esatta

Installa esattamente questa versione pubblicata.

install mysql -v 1.1.4
Controlla o aggiorna

upgrade controlla la compatibilità e sostituisce il blocco solo quando serve.

upgrade mysql
Rimuovi modulo

Rimuove il blocco estensione senza toccare core e altri moduli.

install mysql -u

Esempi

Gli esempi sono copiabili ma il sito non li esegue. Controlla percorsi, permessi e opzioni distruttive.

Ispezionare una tabella MySQL / MariaDB
mysql -c localhost demo shop
Status    connected
Server    MySQL / MariaDB
Host      localhost:3306
User      demo
Database  shop
Charset   utf8mb4
Connettersi; la password viene richiesta separatamente salvo con -n
mysql -c localhost demo shop -n
Status    connected
Server    MySQL / MariaDB
Host      localhost:3306
User      demo
Database  shop
Charset   utf8mb4
Connettersi; la password viene richiesta separatamente salvo con -n
mysql -c localhost demo shop -p 3307 -charset utf8mb4
Status    connected
Server    MySQL / MariaDB
Host      localhost:3307
User      demo
Database  shop
Charset   utf8mb4
Connettersi; la password viene richiesta separatamente salvo con -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
Mostrare la connessione MySQL / MariaDB corrente
mysql
Status    connected
Database  shop
Charset   utf8mb4
Selezionare un altro database
mysql -use shop
Status    connected
Database  shop
Elencare i database
mysql -l
shop
Elencare tabelle e viste
mysql -t
products	BASE TABLE
Mostrare colonne e tipi di dati
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	
Mostrare un’anteprima delle righe
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
Cercare testo nelle colonne della tabella
mysql -f products "shoe"
id	sku	name	category	price	active
1	SHOE-1	City shoe	shoes	79.90	1
Esportare le righe della tabella
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
  }
]
Esportare le righe della tabella
mysql -o products -csv tmp/products.csv
Saved  sandbox/tmp/products.csv
Gestire una tabella mancante
mysql -o products -j tmp/products.json -f
Saved  sandbox/tmp/products.json
Inserire una riga da un oggetto JSON
mysql -a products : {"sku":"NEW-1","name":"Sample","category":"test","price":5,"active":1}
Inserted  1
ID        3
Aggiornare le righe corrispondenti da un oggetto JSON
mysql -w products sku SHOE-1 : {"price":75}
Updated  1
Eliminare le righe corrispondenti
mysql -d products sku SHOE-1
Deleted  1
Eseguire SQL nativo
mysql : SELECT COUNT(*) AS total FROM products
total
2
Time  (varies) ms
Creare un dump di schema e dati
mysql dump tmp/shop.sql
Saved   sandbox/tmp/shop.sql
Tables  1
Views   0
Eseguire SQL da un file
mysql load db/mysql.sql
MySQL error 1050: Table 'products' already exists
Salvare la connessione corrente in .lil.key; usare per default il nome del database
mysql -m demo
Saved  demo
Elencare le connessioni salvate o esaminarne una senza mostrare la password
mysql -k
No saved connections
Connettersi usando una connessione salvata
mysql -K missing
Saved connection not found: missing
Rimuovere una connessione salvata
mysql -M missing
Saved connection not found: missing
Disconnettersi e cancellare i dati di connessione
mysql -e
+
Alias di @mysql
mariadb -t
products	BASE TABLE
Connettersi; la password viene richiesta separatamente salvo con -n
mysql -c localhost demo shop -p 99999
Invalid database port

File usato in questo esempio: sandbox/db/mysql.sql

L’esempio usa un file o una directory dell’area di documentazione protetta /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);

Documentazione correlata

Versione pubblica attuale

v1.1.42026-11-01

Rifinitura di produzione

Versione stabile attuale di mysql. mysql si collega a MySQL o MariaDB, ispeziona schema e righe, applica modifiche mirate, esporta tabelle, esegue SQL nativo e crea dump SQL.