SQL online - IDE, editor, compilatore, interprete

RSS

Esercitati con SQL online: crea tabelle, inserisci dati ed esegui query su un vero database SQLite nel tuo browser. I risultati vengono mostrati in tabelle.

SQLite 3 (sql.js) · Funziona nel tuo browser, quindi il tuo codice non raggiunge mai i nostri server.
main.sqlSQL
Output

            
        
Ctrl/⌘ + Enter per eseguire

Funzionalità del compilatore SQL online (IDE, editor e interprete)

Scrivi, esegui e testa codice SQL online gratis. Questa pagina è al tempo stesso IDE SQL online, editor di codice, compilatore e interprete: scrivi il codice, premi Esegui e vedi subito l'output. Tutto funziona nel tuo browser, senza nulla da installare e senza creare un account.

  • Esecuzione immediata: SQLite 3 (sql.js), con output in meno di un secondo dopo il primo caricamento.
  • Editor di codice: evidenziazione della sintassi, numeri di riga, corrispondenza e chiusura automatica delle parentesi.
  • Errori chiari: messaggi di errore e avvisi compaiono nel pannello di output, come sul tuo computer.
  • Schermo intero: Ctrl/⌘ + Shift + F, dimensione del carattere regolabile, layout affiancato o impilato e pannelli ridimensionabili.
  • Salvataggio automatico: il tuo codice resta nel browser; scaricalo come main.sql o copialo con un clic.
  • Sperimenta in sicurezza: un limite di tempo e un pulsante Interrompi fermano i cicli infiniti.
  • Privato: il runtime SQL funziona sul tuo dispositivo, quindi il codice non viene mai caricato.
  • Modalità scura e scorciatoie da tastiera: Ctrl/⌘ + Enter esegue il codice.
  • Gratis: nessuna registrazione, nessun limite di utilizzo.

Impara altri linguaggi di programmazione

Come usare il compilatore SQL online

  1. Scrivi il tuo SQL nell'editor. Puoi creare tabelle (CREATE TABLE), aggiungere dati (INSERT) e interrogarli (SELECT) in un unico script. Separa le istruzioni con il punto e virgola.
  2. Premi Esegui oppure usa Ctrl + Invio (⌘ + Invio su Mac).
  3. Ogni istruzione che restituisce righe viene mostrata come tabella dei risultati a sé, in ordine, con il conteggio delle righe sotto. I valori NULL sono indicati come tali. Se nessuna istruzione restituisce righe, vedrai invece una breve conferma.
  4. Scegli un limite di tempo di 5, 15 o 60 secondi, utile per le query ricorsive fuori controllo. Interrompi annulla subito una query.

Il motore SQLite è piccolo, ben sotto 1 MB, quindi si carica quasi all'istante. Ripristina esempio riporta lo schema di esempio dei dipendenti, e main.sql scarica il tuo script.

Le tue query vengono eseguite in un Web Worker nel tuo browser. Né l'SQL né i dati vengono caricati o memorizzati sui nostri server. L'editor conserva il tuo ultimo script nella memoria locale del tuo browser, e in nessun altro posto.

Cosa è supportato

Il compilatore esegue SQLite 3 tramite sql.js, la libreria C di SQLite compilata in WebAssembly. È un vero motore di database relazionale, non un emulatore.

  • DDL e DML: CREATE TABLE, CREATE INDEX, CREATE VIEW, INSERT, UPDATE, DELETE, vincoli, chiavi esterne e trigger.
  • Query: join, sottoquery, GROUP BY/HAVING, UNION, CASE e common table expression, incluso WITH RECURSIVE.
  • Funzioni finestra come ROW_NUMBER(), RANK(), LAG() e totali progressivi con SUM() OVER (...).
  • Funzioni integrate per testo (substr, upper, replace), numeri e date (date, strftime).

Limitazioni:

  • Un database in memoria nuovo e vuoto a ogni esecuzione. Le tabelle non sopravvivono tra un'esecuzione e l'altra, quindi tieni le istruzioni CREATE e INSERT all'inizio dello script.
  • È SQLite, non MySQL o PostgreSQL. La maggior parte dell'SQL standard funziona, ma le funzioni specifiche di un singolo DBMS, come le stored procedure, GRANT, la parola chiave AUTO_INCREMENT di MySQL o il tipo SERIAL di PostgreSQL, no.
  • I grandi insiemi di risultati mostrano le prime 1.000 righe, insieme al numero totale di righe.
  • Non puoi collegarti a un database esterno né aprire un tuo file .db.

Guida rapida all'SQL

CREATE TABLE orders (
  id       INTEGER PRIMARY KEY,
  customer TEXT NOT NULL,
  amount   REAL,
  placed   TEXT DEFAULT (date('now'))
);

INSERT INTO orders (customer, amount) VALUES
  ('Ada', 120.0), ('Ada', 35.5), ('Grace', 80.0);

WITH totals AS (
  SELECT customer, SUM(amount) AS spent, COUNT(*) AS n
  FROM orders
  GROUP BY customer
)
SELECT customer, spent, n
FROM totals
WHERE spent >= 50 AND n <> 0
ORDER BY spent DESC;
OperazioneSQL
Chiave a numerazione automaticaid INTEGER PRIMARY KEY
Filtrare le righeWHERE price BETWEEN 10 AND 20
Corrispondenza di patternWHERE name LIKE 'A%'
Concatenare testofirst || ' ' || last
PaginareLIMIT 10 OFFSET 20
Sostituire NULLCOALESCE(phone, 'n/a')
Inserire o aggiornareINSERT ... ON CONFLICT(id) DO UPDATE SET ...

Consigli

  • Usa sqlite_master per elencare ciò che hai creato: SELECT name, sql FROM sqlite_master;
  • Usa EXPLAIN QUERY PLAN SELECT ... per vedere se una query usa un indice.
  • SQLite usa una tipizzazione flessibile: una colonna dichiarata INTEGER può comunque contenere testo. Aggiungi vincoli CHECK, o usa tabelle STRICT, quando vuoi imporre i tipi.
  • Le chiavi esterne vengono applicate solo dopo PRAGMA foreign_keys = ON;.
  • Una query lunga e disordinata? Ripulila con il Formattatore SQL prima di condividerla.
Consiglio: racchiudi gli inserimenti ripetuti tra BEGIN; … COMMIT;. Generare dati di prova con una CTE ricorsiva è un modo rapido per riempire una tabella con migliaia di righe per esercitarsi.

Domande frequenti

Quale dialetto SQL usa?

SQLite 3. Segue da vicino l'SQL standard, quindi è adatto per imparare SELECT, join, raggruppamenti e funzioni finestra. La sintassi specifica di MySQL, PostgreSQL o SQL Server può richiedere piccole modifiche.

I miei dati vengono salvati?

No. Ogni esecuzione crea un nuovo database in memoria, che viene eliminato non appena l'esecuzione termina. Solo il testo SQL nell'editor viene ricordato, in locale nel tuo browser.

Posso eseguire più query insieme?

Sì. Separale con il punto e virgola. Le istruzioni vengono eseguite in ordine e ciascuna che restituisce righe produce la propria tabella dei risultati.

Posso esercitarmi anche con altri linguaggi?

Sì. Prova il Compilatore Python online, dove funziona anche il modulo sqlite3 integrato di Python, oppure sfoglia tutti i nostri strumenti per sviluppatori.

Aggiornato

Copiato negli appunti