sql >> Databáze >  >> RDS >> SQLite

Výstup výsledků dotazu SQLite jako příkaz INSERT

Rozhraní příkazového řádku SQLite má praktický tečkový příkaz s názvem .mode , která vám umožňuje změnit způsob formátování výsledků dotazu.

Jedna z hodnot, kterou můžete s tímto příkazem použít, je insert . Použití této hodnoty způsobí, že všechny následné výsledky dotazu budou formátovány jako INSERT SQL prohlášení.

Výchozí nastavení SQLite

Nejprve se podívejme, jak mohou vypadat vaše běžné výsledky (za předpokladu, že používáte výchozí nastavení SQLite).

SELECT * FROM Products;

Výsledek:

1|Widget Holder|139.5
2|Widget Opener|89.7
3|Widgets - 6 Pack|374.2
4|Blue Widget|63.0

Výsledky jako příkaz INSERT

Nyní si ukážeme, jak to změnit, aby byly výsledky formátovány jako SQL INSERT prohlášení:

.mode insert Products2

Toto prohlášení specifikuje Produkty2 jako tabulku, do které budou data vložena. Budete muset zadat název tabulky, do které chcete vložit data.

Nyní, když spustím předchozí SELECT znovu se zobrazí jako INSERT prohlášení.

SELECT * FROM Products;

Výsledek:

INSERT INTO Products2 VALUES(1,'Widget Holder',139.49999999999999999);
INSERT INTO Products2 VALUES(2,'Widget Opener',89.700000000000002838);
INSERT INTO Products2 VALUES(3,'Widgets - 6 Pack',374.19999999999998862);
INSERT INTO Products2 VALUES(4,'Blue Widget',63.000000000000000001);

Uložit tento formát

Když otevřete SQLite v novém okně terminálu, tato nastavení ztratíte. Jinými slovy, SQLite se vrátí zpět ke svému výchozímu výstupnímu formátu (což je seznam oddělený svislou čarou).

Ve skutečnosti však můžete zadat své vlastní výchozí nastavení uložením výše uvedených nastavení do textového souboru.

Chcete-li to provést, zadejte do textového souboru následující:

.mode insert NewTable

Poté tento soubor uložte jako .sqliterc ve vašem/(uživatelově) domovském adresáři.

Nyní, když se připojíte k SQLite v novém okně terminálu, použije tato nastavení namísto výchozích nastavení SQLite.

Tento příklad používá jako cílovou tabulku NewTable, ale můžete použít, co chcete.

Je zřejmé, že jediný problém s tím je, že pokud se změní, budete muset změnit název tabulky. A pokud s tím potřebujete mít potíže, může být jednodušší to jednoduše změnit za běhu pomocí .mode insert NewTable (místo toho, abyste museli najít/nahradit název tabulky). V každém případě je to možnost, pokud ji potřebujete.


  1. SQL Query pomalý v aplikaci .NET, ale okamžitý v SQL Server Management Studio

  2. Jak zkontrolovat verzi PostgreSQL

  3. Funkce SUM() na serveru SQL Server

  4. Jak funguje SQLite Ltrim()