sql >> Database >  >> RDS >> SQLite

Automatisch SQLite-queryresultaten openen in Excel

De SQLite-opdrachtregelinterface heeft een handige kleine functie waarmee u uw SQL-queryresultaten in een Excel-bestand kunt openen.

Wanneer u een query uitvoert, wordt de query niet zoals gewoonlijk naar uw console uitgevoerd, maar wordt deze in plaats daarvan geopend als een Excel-spreadsheet (of LibreOffice, of welk programma uw systeem ook gebruikt om CSV-bestanden te openen).

Je hebt hierbij twee opties:

  • Gebruik een tijdelijk bestand
  • Gebruik een permanent bestand (d.w.z. bewaar het voor later)

Dit artikel behandelt beide opties.

Tijdelijk bestand

Bij gebruik van de tijdelijke bestandsoptie doet SQLite dit door een tijdelijk bestand te schrijven en dat bestand vervolgens te verwijderen zodra het de handler voor CSV-bestanden heeft aangeroepen (bijv. Excel, LibreOffice, enz.).

Gebruik hiervoor de .excel of .once -x opdrachten (.excel is een alias voor .once -x ).

Hier is een voorbeeld om te demonstreren met behulp van de tijdelijke bestandsmethode met behulp van de .excel commando.

.excel
SELECT * FROM Products;

Mijn systeem gebruikt momenteel LibreOffice om CSV-bestanden te openen, dus toen ik die code uitvoerde, werd het bestand automatisch geopend in LibreOffice. Aangezien het als een spreadsheet werd geopend, kreeg ik de gebruikelijke "Import" -prompt waar ik de te gebruiken scheidingstekens kan selecteren, enz.

Dit zijn de standaardinstellingen en ze zien er goed uit. Dus toen ik eenmaal op OK . klikte , ik heb dit:

Kolomkoppen toevoegen

U kunt .headers on om de kolomnamen toe te voegen.

Hier is nog een voorbeeld waarbij ik de kolomkoppen toevoeg. In dit geval gebruik ik .once -x in plaats van .excel (zoals vermeld, .excel is een alias voor .once -x ).

.headers on
.once -x
SELECT * FROM Products;

Resultaat:

En zodra ik klik op OK , ik krijg dit:

Het is dus hetzelfde, behalve dat ik deze keer kolomkoppen heb gespecificeerd.

Permanent bestand

Als u de optie permanent bestand gebruikt, slaat u het bestand eerst op een opgegeven locatie op, daarna gebruikt u het .system commando om dat bestand te openen.

U kunt .output . gebruiken of .once om de resultaten in een bestand op te slaan, gebruik dan de .system commando om uw tekstbestand te openen.

Zo doet u dit op een Mac:

.headers on
.mode csv
.once query_results.csv
SELECT * FROM Products;
.system open query_results.csv

Dit veronderstelt dat u zich in dezelfde map bevindt als het bestand. Anders moet je het volledige pad gebruiken.

Het .system commando opent het bestand met de standaardtoepassing voor het openen van CSV-bestanden.

Op een Windows-systeem, uw .system code kan er meer als volgt uitzien:

.system c:/data/query_results.csv

Op Linux/Unix:

.system xdg-open query_results.csv


  1. Vermijd deze veelvoorkomende fout bij het uitvoeren van de opgeslagen procedure in MS Access

  2. Vraag naar ORDER BY het aantal rijen dat is geretourneerd door een andere SELECT

  3. Databaseschema's gebruiken in SQL Server

  4. Haal de dichtstbijzijnde lengte- en breedtegraad uit de MSSQL-databasetabel?