Gestione delle funzioni di database con SQL Runner

SQL Runner fornisce un modo per accedere direttamente al tuo database e sfruttare tale accesso in diversi modi. Con SQL Runner, puoi esplorare facilmente le tabelle dello schema, utilizzare un'esplorazione ad hoc da una query SQL, eseguire query descrittive prescritte sui dati, visualizzare la cronologia di SQL Runner, scaricare i risultati, condividere le query, aggiungere le query a un progetto LookML come tabella derivata ed eseguire altre attività utili.

Questa pagina descrive come modificare lo schema e i dati del database utilizzando SQL Runner, visualizzare il piano di esecuzione del database per una query con l'istruzione EXAMINE e come utilizzare SQL Runner per ottenere informazioni sul database. Consulta queste altre pagine della documentazione per informazioni su:

Modifica dello schema e dei dati del database

Oltre a eseguire query sul database, la scheda Database in SQL Runner consente di eseguire istruzioni Data Definition Language (DDL) e Data Manipulation Language (DML) sul database. Puoi utilizzare SQL Runner per apportare modifiche allo schema (ad esempio creazione, rilascio e modifica) e ai dati (ad esempio inserimento, aggiornamento ed eliminazione). I dialetti SQL supportano diverse istruzioni per le istruzioni DDL e DML, quindi consulta la documentazione del tuo database per sapere quali istruzioni sono supportate.

Looker non controlla l'autorizzazione delle istruzioni SQL che un utente può eseguire sul tuo database. Agli utenti di Looker con l'autorizzazione use_sql_runner viene concesso l'accesso a SQL Runner, ma SQL Runner non determina i comandi che l'utente può eseguire. Se l'amministratore del database vuole impedire agli utenti di SQL Runner di modificare lo schema del database, deve farlo configurando le autorizzazioni utente per il database stesso.

Per eseguire un'istruzione DDL o DML sul tuo database in SQL Runner, segui questi passaggi:

  1. Vai a SQL Runner.
  2. In SQL Runner, fai clic sulla scheda Database.
  3. Inserisci l'istruzione DDL o DML nella casella Query di SQL Runner. Consulta la documentazione del dialetto del database per il supporto e la sintassi delle istruzioni DDL e DML.
  4. Fai clic su Esegui per eseguire l'istruzione sul database.

Se l'istruzione viene eseguita correttamente sul database, la casella SQL Results mostra una conferma.

Esame di un piano di esecuzione utilizzando EXPLAIN

Oltre a eseguire query SQL sul tuo database, puoi utilizzare SQL Runner per eseguire una funzione EXPLAIN per una query. La funzione EXPLAIN, che è supportata dalla maggior parte dei dialetti SQL, restituisce il piano di esecuzione del database per una query.

  1. Da un'esplorazione, esegui una query e fai clic sulla scheda SQL dell'area Dati per visualizzare il comando SQL della query.
  2. Nella scheda SQL dell'esplorazione, fai clic sul pulsante Spiega in SQL Runner.

    Looker aprirà SQL Runner e caricherà la query all'interno di una funzione EXPLAIN.

  3. In SQL Runner, fai clic su Esegui per eseguire la funzione EXPLAIN.

  4. Visualizza l'output della funzione EXPLAIN.

Le informazioni esatte e il formato della risposta EXPLAIN dipenderanno dal tuo dialetto specifico, quindi ti consigliamo di consultare la relativa documentazione per le specifiche.

Nell'esempio MySQL riportato sopra, la funzione EXPLAIN restituisce un elenco dei passaggi eseguiti dal database per completare la query. Questo può essere utile per le query che sembrano essere lente da eseguire, poiché potresti scoprire che il tuo database sta analizzando un'intera tabella in una query, forse la tabella potrebbe utilizzare un indice per migliorare le prestazioni.

Per un esempio dettagliato dell'utilizzo di EXPLAIN in SQL Runner per ottimizzare SQL, consulta il post della scheda Community Come ottimizzare SQL con EXPLAIN .

Recupero di informazioni sul tuo database

La scheda Database in SQL Runner offre diversi strumenti per fornirti insight sul tuo database.

Recupero delle informazioni di connessione al database

Quando scegli una connessione in SQL Runner, Looker visualizza il dialetto del database per quella connessione a destra del banner QUERY SQL. Se hai eseguito l'accesso a SQL Runner scegliendo Apri in SQL Runner o Spiega in SQL Runner, Looker preseleziona la connessione appropriata e visualizza il dialetto del database della connessione.

Fai clic sul menu a forma di ingranaggio di connessione per visualizzare altre opzioni per la connessione al database:

  • Seleziona l'opzione Mostra processi per visualizzare informazioni su query e processi attualmente in esecuzione sulla connessione.
  • Seleziona l'opzione Aggiorna schemi e tabelle per ricompilare il riquadro di navigazione sinistro di SQL Runner con gli schemi e le tabelle presenti nel database.

Opzioni del menu a forma di ingranaggio di BigQuery

Quando scegli una connessione BigQuery che supporta più database, Looker mostra opzioni specifiche del dialetto nel menu a forma di ingranaggio. La voce di menu passa da Mostra progetti disponibili a Cerca progetti pubblici, a seconda dell'opzione attualmente selezionata.

  • Seleziona Aggiorna schemi e tabelle per ricompilare il riquadro di navigazione sinistro di SQL Runner con gli schemi e le tabelle presenti nel database.
  • Quando sono visualizzati i progetti disponibili, è presente un'opzione di menu a forma di ingranaggio che consente di Cercare nei progetti pubblici. Seleziona questa opzione per cercare set di dati pubblici non visibili nello schema di informazioni.
  • Quando sono visualizzati progetti pubblici, è presente un'opzione di menu a forma di ingranaggio che consente di Mostrare i progetti disponibili. Seleziona questa opzione per ripristinare la visualizzazione dei progetti e delle tabelle BigQuery specifici della connessione nel riquadro di navigazione sinistro di SQL Runner.

Ricerca nel database

SQL Runner visualizza una casella di ricerca sotto lo Schema selezionato (o Set di dati per le connessioni Google BigQuery).

La ricerca SQL Runner esamina i nomi di tutte le tabelle e le colonne di tabelle che contengono la stringa nella casella di ricerca. Nella figura seguente, "airport_name" è una colonna e "airport_remarks" è una tabella.

Fai clic su uno dei risultati di ricerca per accedere all'elemento in SQL Runner.

Recupero delle informazioni sulle tabelle

Per impostazione predefinita, SQL Runner precarica tutte le informazioni della tabella quando selezioni una connessione e uno schema. Per le connessioni che hanno molte tabelle o tabelle molto grandi, un amministratore può disattivare questo comportamento deselezionando l'opzione Pre-cache SQL Runner nella pagina Connessioni.

Il pannello di navigazione a sinistra di SQL Runner consente di esplorare gli schemi e le tabelle nelle connessioni. Seleziona una connessione e uno schema per visualizzare tutte le tabelle nello schema. Fai clic sul nome di una tabella per visualizzarne i campi.

SQL Runner ha alcune query precompilate per aiutarti a comprendere i tuoi dati. Per utilizzare queste query, fai clic sull'icona a forma di ingranaggio visualizzata accanto al nome di una tabella o di una colonna di tabella e seleziona la query che ti interessa. Looker genera automaticamente l'SQL nella sezione Query SQL e la query verrà eseguita.

Le query disponibili variano in base al dialetto del database.

Informazioni tabella

Quando fai clic sull'ingranaggio accanto al nome di una tabella, Looker visualizza le seguenti opzioni:

  • Esplora tabella: apre una nuova scheda del browser in un'esplorazione di Looker della tabella.
  • Descrivi: visualizza i nomi delle colonne nella tabella sottostante e i relativi tipi di dati.
  • Mostra indici: mostra informazioni sull'indicizzazione della tabella.
  • Seleziona 10: restituisce una query sulle prime dieci righe della tabella. Questo è un buon modo per avere un'idea dell'effettivo aspetto dei dati.
  • Conteggio: restituisce una semplice query count(*) per ottenere il conteggio totale delle righe della tabella.

Informazioni colonna

Fai clic sul nome di una tabella per visualizzare le colonne al suo interno. Quando fai clic sull'icona a forma di ingranaggio accanto al nome di una colonna, Looker visualizza le seguenti opzioni:

  • Valori più comuni: restituisce una query sui valori più comuni per quella colonna della tabella, insieme al conteggio del numero di volte in cui quel valore si trova nella colonna.
  • Conteggio approssimativo dei valori distinti: mostra un conteggio approssimativo del numero di valori distinti trovati nella colonna.

Recupero delle informazioni sul tipo di dati della colonna

Puoi utilizzare SQL Runner per ottenere informazioni sul tipo di dati delle colonne seguendo questa procedura:

  1. In SQL Runner, seleziona la connessione al database dall'elenco a discesa Connessione.
  2. Seleziona lo schema dal menu a discesa Schema. Per le connessioni BigQuery, seleziona Progetto e Set di dati.
  3. SQL Runner mostra l'elenco delle tabelle di quello schema nel database. Fai clic su una tabella per visualizzarne le colonne.
  4. Ogni nome di colonna è associato a un'icona che rappresenta il tipo di dati. Passa il mouse sopra il nome di una colonna per visualizzare il tipo di dati al suo interno.

Modifica delle query SQL predefinite

Puoi modificare qualsiasi query SQL nell'area Query, incluse le query SQL preimpostate scelte dai menu a forma di ingranaggio della tabella e del campo.

Ad esempio, puoi utilizzare la query SQL Runner Count per caricare un comando di conteggio di base per un database e poi modificare la query SQL. Quindi, se ritieni che la colonna id nella tabella public.users possa essere una chiave primaria, puoi verificare che non esistano valori duplicati modificando la query di conteggio nel seguente modo:

SELECT id ,COUNT(*)
FROM public.users
GROUP BY 1
ORDER BY 2 DESC
LIMIT 10

Poiché la query viene ordinata in base al numero prima che i risultati siano limitati a 10 righe, i risultati includeranno i valori di conteggio più elevati. Se questa query restituisce un conteggio pari a 1 per ogni valore id, probabilmente id sarà la chiave primaria in questa tabella. Tuttavia, questa query specifica solo le righe della tabella al momento dell'esecuzione della query. Poiché i futuri caricamenti nel database potrebbero non essere più idonei come chiave primaria, id ti consigliamo di implementare delle limitazioni nel tuo database per assicurarti che le tue chiavi primarie siano univoche.