Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Visual Studio Code e Database

Visual Studio Code offre funzionalità avanzate per connettersi ai database e gestirli con semplicità, vediamo quali.
Visual Studio Code offre funzionalità avanzate per connettersi ai database e gestirli con semplicità, vediamo quali.
Link copiato negli appunti

Che si parli di un sito Web o di un applicazione Desktop, la memorizzazione dei dati è un passaggio necessario per ogni progetto che si vuole sviluppare. Avere gli strumenti per collegarsi e controllare passo passo i database è fondamentale per evitare di perdersi in passaggi macchinosi. Visual Studio Code offre degli ottimi meccanismi per connettersi ai database, vediamo quali.

Versioni ed estensioni

Ovviamente alcune estensioni e funzioni varieranno in base al DBMS scelto, il principale punto di riferimento della guida sarà MySQL.

Struttura dell'articolo

Alcune estensioni generano i medesimi risultati ma in modo differente, per cui la composizione di questo articolo sarà differente dal solito e seguirà questo schema:

  • guida all'installazione delle estensioni;
  • guida all'utilizzo.

La prima estensione elencata sarà l'unica ad essere neutra.

SQL snippet

Può sempre essere utile disporre di qualche estensione con cui creare velocemente degli snippet SQL con query già pronte, un'estensione molto utile potrebbe essere quindi SQL snippet con id Miladfathy.sql-snippet.

Installazione estensione snippet

Una volta installata sarà possibile attingere a varie shortcut per creare rapidamente delle query, molte di queste sono precedute dal carattere ?.

esempio d'uso snippet

MySQL

La prima estensione per connettersi al client MySQL e vedere graficamente le tabelle e i database è l'estensione MySQL con id formulahendry.vscode-mysql.

Installazione mysql

Una volta installata apparirà nella Explorer il menu a tendina per MySQL:


ì
Da qui poi si potrà accedere alle funzioni disponibili.

Configurazione di un database

Per configurare una connessione con un database si deve cliccare l'icona della "somma" nel menu (visibile quando si passa sopra con il mouse sul menu di MySQL) nel pannello di esplorazione.

aggiungi una connessione

In alto verrà visualizzato un pop-up per l'inserimento dell'indirizzo del database, se è locale, basta scrivere localhost.

aggiungi indirizzo di connessione

Dopo aver confermato l'indirizzo si potrà inserire il nome utente, sempre nello stesso pop-up.

Aggiunta utente

Ora, premendo Invio, verrà richiesta la password dell'utente.

Inserisci password

Infine si dovrà specificare la porta di connessione (di default la 3306).

Aggiungi porta a connessione

Un ultimo pop-up richiederà le informazioni sul certificato SSL. Si tratta però di un'impostazione del tutto opzionale e, se non serve, la si può ignorare per poi premere su Invio.

Configurazione SSL

Esplora il database

Una volta aggiunto un database viene reso disponibile nel pannello dell'explorer riservato a MySQL.

Esplora il db

Si possono inoltre espandere le varie voci fino a vedere le singole tabelle che compongono uno schema.

Esplora il db espanso

Query su tabelle e schema

Se si clicca su una tabella si apre il menu con due opzioni tra cui la "Select" delle prime mille righe:

click al tasto destro su tabella

La query verrà eseguita automaticamente nell'editor e si vedranno i risultati in una tabella su un secondo pannello aperto di fianco.

Query su tabella selezionata

Cliccando con il tasto destro sul nome del database si potrà inserire invece una nuova query.

Risposta al tasto destro su schema

È possibile ottenere lo stesso risultato utilizzando il control panel (CTRL+SHIFT+P) digitando "new query".

query da control panel

Si apre quindi nell'editor una nuova scheda dove digitare la query, una volta scritta essa diventa eseguibile.

Per eseguire una query è necessario aprire il control panel (CTRL+SHIFT+P) e digitare "Run Query"

Eseguire query da control panel

Si aprirà così in un pannello a lato della query.

Risultato query con mysql

MySQL Shell for VS Code

Uno strumento decisamente più avanzato ma ancora in fase di sviluppo al momento della scrittura di questa guida. MySQL Shell for VS Code è un estensione che fornisce diversi strumenti:

  • lista degli schema;
  • shell interattiva;
  • dump del database;
  • copia delle istruzioni in clipboard;
  • query e istruzioni a portata di click.

L'id dell'estensione è Oracle.mysql-shell-for-vs-code.

Estensione mysql shell

Aggiungere una connessione

Per aggiungere una connessione si deve cliccare l'icona di MySQL in corrispondenza del pannello laterale.

Pannello laterale della shell

per poi passare sopra la voce "Database Connection" e premere il tasto "+".

Configurazione di shell mysql

Le informazioni obbligatorie da inserire sono:

  • il tipo di database ("Database Type");
  • l'indirizzo del database ("Host Name or IP Address");
  • il nome utente per la connessione ("User Name");
  • il database di default ("Default schema"), questo valore si può anche lasciare vuoto e saranno selezionati tutti gli schema;
  • la porta di connessione.

Altre informazioni meno importanti ma comunque da tenere d'occhio sono:

  • il nome della connessione ("Caption");
  • descrizione della connessione ("Description").

Configurazione shell mysql

Aprire la shell interattiva

È possibile aprire facilmente una shell interattiva. La shell interattiva serve per eseguire direttamente comandi come se foste connessi da client, strumento molto comodo per sopperire a qualunque mancanza dell'estensione. Integra inoltre l'auto-completamento per i nomi delle tabelle e gli schema.

Per aprire una shell interattiva bisogna passare sopra al nome dato alla connessione per pi premere il pulsante "Play".

Aprire la shell mysql

Si aprirà nell'editor un'interfaccia stile terminale su cui scrivere le query. Sarà poi possibile eseguirle con il tasto a forma di fulmine posizionato in alto.

Funzioni di shell mysql

Di norma è attivo l'autocommit, ciò significa che ogni istruzione che verrà eseguita automaticamente viene applicata al database come ci si aspetta. Si può però disabilitare l'autocommit premendo il tasto con il fulmine vicino alla spunta nella barra posta di sopra.

Funzioni di autocommit

Dopo averlo disabilitato è necessario premere manualmente il tasto di commit in alto (la spunta) per accettare una modifica, altrimenti sarà rigettata una volta chiuso il client.

Effettuare un commit

In alternativa è possibile premere il tasto con la crocetta vicino, per rigettarla esplicitamente.

Dump Schema

Questa funzione in realtà non è molto utile, infatti non crea un dump vero e proprio ma spacchetta lo schema in piccoli file sql che poi lo ricreano.. Personalmente sconsiglio di utilizzarlo.

Detto ciò, per eseguire il dump dello schema basta cliccare con il tasto destro del mouse sul nome dello schema nel pannello di MySQL

opzioni al tasto destro su shell

e poi cliccare "Dump Schema to Disk". Apparirà una finestra per la selezione del percorso da cui scegliere una cartella vuota (o verrà abortita l'operazione).

Una volta finito troverete tutti i file di dump nella cartella.

DROP, Select, Create e alberatura

Sempre a portata di click è possibile eseguire alcune operazioni come il Select di tabelle, copiare le istruzioni di creazione di una tabella e cancellare tabelle o interi schemi.

Andando nel pannello di esplorazione di MySQL è possibile espandere tutte le voci degli schemi fino a vedere tabelle, colonne, indici e chiavi interne ed esterne

Espansione delle tabelle del database

Cliccando con il tasto destro su nomi di tabelle o di schema è possibile eseguire alcune operazioni come eliminare un elemento.

Drop automatico oggetto da tasto destro

Oppure copiarne l'istruzione di creazione nella clipboard di sistema

Copia nella clipboard da tasto destro

Solo sulle tabelle, invece, è possibile selezionarne le righe.

Fare una select al tasto destro

SQLTools

Questa compilation di estensioni copre un gran numero di casistiche, diversi DBMS, sintassi e altro. È probabilmente l'estensione più completa. Il suo ID è mtxr.sqltools.

Installazione estensione SQL Tools

Una volta installato apparirà, sul pannello laterale, l'icona del database da cliccare.

SQL tools pannello

Configurazione e aggiunta connessione

Per aggiungere una connessione si deve cliccare innanzitutto su "Add new Connection" dopo aver cliccato sull'icona del database.

Aggiungere una connessione con sqlplus

Alla prima connessione è probabile che il sistema vi comunichi che mancano i driver di connessione, è quindi necessario scaricarli, cliccare su "Search VS Code Marketplace".

Cercare i driver per sql tools

Il passaggio successivo consiste quindi nel cercare un driver corrispondente alle proprie esigenze all'interno della lista apparsa sulla sinistra (vicino il pannello laterale). Nella guida si prenderà ad esempio quello di MySQL:

Selezione dei driver mysql dalle estensioni

Un volta effettuata la procedura per l'aggiunta di un nuovo driver si potranno visualizzare i database supportati grazie ai driver installati. Se la versione di MySQL installata è quella Open Source si deve cliccare su "MariaDB". Altrimenti su "MySQL".

Scelta tra mysql e mariadb

Si aprirà quindi una nuova schermata dove verranno richieste le informazioni principali. L'utente dovrà dare un nome alla connessione e indicare l'indirizzo del server, la porta di connessione (3306 è selezionata di default) e l'username.

aggiunta informazioni per configurazione della connessione di sqltools

Fatto questo bisogna confermare il tutto con "Save".

Salva informazioni di connessione

Verrà proposto un riepilogo delle informazioni sotto forma di file JSON. Se sono corrette è possibile cliccare su "Connect Now".

Riepilogo della connessione

In alcuni sistemi potrebbe essere richiesto di accedere al portachiavi di sistema.

Richiesta dei permessi al portachiavi

Si deve quindi inserire la password dell'utente specificato in fase di configurazione.

Scrittura della password

Se tutto dovesse andare per il meglio apparirà l'alberatura del database nel pannello di esplorazione. Si potrà poi espanderla fino a vedere le singole tabelle o colonne.

Alberatura database con estensione SQL Tools

Eseguire le query

Quando Visual Studio Code identifica un file aperto con istruzioni SQL è possibile eseguire una query cliccando sul pulsante "Run on active connection" sotto il nome del file (prima riga del file). Il risultato apparirà su un pannello accanto:

Eseguire query e vedere risultato

in alternativa è possibile lanciare delle query passando sopra al nome della tabella su cui si vuole eseguire un'istruzione. Verranno mostrate due icone: un "+" e una lente di ingrandimento.

Opzioni disponibili per ogni tabella con sqltools

Cliccando sulla lente otterremo una select di tutti i valori.

Insert

Per effettuare una insert basta cliccare sul tasto "+", verrà aperto automaticamente un file nell'editor con i campi preimpostati.

Effettuare una insert con tasto destro

Describe

Se si clicca con il tasto destro sul nome di una tabella si possono visualizzare diverse opzioni, tra cui quella per "descriverla" ("Describe Table").

Descrivere tabella elencando nomi di colonne e tipi

Questa operazione elencherà le colonne della tabella seguite dal tipo:

Risultato descrizione tabella

Ti consigliamo anche