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

SQLite - Vyberte Data

Chcete-li vybrat data z databáze SQLite, použijte SELECT prohlášení.

Když použijete tento příkaz, určíte, ze které tabulky nebo tabulek se mají vybrat data, a také sloupce, které se mají z dotazu vrátit.

Můžete také poskytnout další kritéria pro další zúžení vracených dat.

Jednoduché SELECT Prohlášení

Již jsme použili SELECT dříve, když jsme vkládali data.

Prohlášení, které jsme použili, bylo toto:

SELECT * FROM Artists;

To je zcela samozřejmé – říká SQLite, aby vybral všechny sloupce z Umělci stůl. Hvězdička (* ) je zkrácený způsob, jak říci „všechny sloupce“. Ušetří nám to vypisování názvů všech sloupců.

Proto tento dotaz vrátí všechny záznamy a všechny sloupce. Takhle:

1|Joe Satriani
2|Steve Vai
3|The Tea Party
4|Noiseworks
5|Wayne Jury
6|Mr Percival
7|Iron Maiden
8|Atmasphere
9|Ian Moss
10|Magnum
11|Strapping Young Lad
12|Slayer
13|Primus
14|Pat Metheny
15|Frank Gambale
16|Frank Zappa
17|The Wiggles

Formátování

Naformátujme výstup tak, aby byly naše výsledky o něco lépe čitelné.

Použít sloupce

Můžete použít .mode pro změnu výstupního režimu. Výše uvedený příklad používá .mode list , který zobrazí výsledky jako seznam.

Změňme režim na použití sloupců.

.mode column

Když to uděláte, možná budete muset upravit šířky sloupců (všechna data, která jsou pro daný sloupec příliš široká, budou zkrácena).

Upravit šířky sloupců

Chcete-li upravit šířky sloupců, použijte .width příkaz, za kterým následují šířky pro každý sloupec.

Následující příklad nastaví první sloupec na 12 a druhý sloupec na 20 .

.width 12 20

Přidat záhlaví

Můžete také použít .headers určit, zda se mají zobrazovat záhlaví sloupců.

Chcete-li zobrazit záhlaví, použijte toto:

.headers on

Můžete je odstranit s .headers off .

Zobrazit nastavení

Tato a další nastavení můžete kdykoli zkontrolovat zadáním .show

sqlite> .show
     echo: off
      eqp: off
  explain: off
  headers: on
     mode: column
nullvalue: ""
   output: stdout
separator: "|"
    stats: off
    width: 12 20 

Nový formát

Zde je příklad, jak vypadá předchozí příklad s použitím režimu sloupců a záhlaví:

ArtistId    ArtistName  
----------  ------------
1           Joe Satriani
2           Steve Vai   
3           The Tea Part
4           Noiseworks  
5           Wayne Jury  
6           Mr Percival 
7           Iron Maiden 
8           Atmasphere  
9           Ian Moss    
10          Magnum      
11          Strapping Yo
12          Slayer      
13          Primus      
14          Pat Metheny 
15          Frank Gambal
16          Frank Zappa 
17          The Wiggles 

WHERE Ustanovení

Můžete použít WHERE klauzule pro zúžení výsledků. Tato klauzule vám umožňuje stanovit konkrétní kritéria, která se mají na dotaz vztahovat.

Můžete například určit, že mají být vráceny pouze záznamy, kde určité pole obsahuje určitou hodnotu.

Zde je velmi konkrétní příklad. Určuje, že pouze záznam s ArtistId rovno 6 by měl být vrácen:

SELECT * FROM Artists
WHERE ArtistId = 6;

Výsledek:

ArtistId      ArtistName          
------------  --------------------
6             Mr Percival   

Chcete-li najít všechny umělce, jejichž jméno začíná písmenem „S“, můžete to udělat takto:

SELECT * FROM Artists
WHERE ArtistName LIKE 'S%';

Výsledek:

ArtistId      ArtistName          
------------  --------------------
2             Steve Vai           
11            Strapping Young Lad 
12            Slayer     

Znak procenta (% ) je zástupný znak, který lze použít k zadání libovolného znaku. V tomto příkladu tedy určujeme, že jméno umělce musí být jako tento vzor (tj. vzor začínající písmenem S a následování jakoukoli jinou postavou).

Další příklad použití WHERE klauzule je získat rozsah hodnot. Mohli bychom například hledat záznamy, kde je hodnota menší než číslo, větší než číslo nebo v určitém rozsahu.

Zde je příklad výběru pouze těch záznamů s ArtistId méně než číslo:

SELECT * FROM Artists
WHERE ArtistId < 6;

Výsledek:

ArtistId      ArtistName          
------------  --------------------
1             Joe Satriani        
2             Steve Vai           
3             The Tea Party       
4             Noiseworks          
5             Wayne Jury 

Zde je příklad výběru pouze těch záznamů s ArtistId v určitém rozsahu:

SELECT * FROM Artists
WHERE ArtistId BETWEEN 5 AND 10;

Výsledek:

ArtistId      ArtistName          
------------  --------------------
5             Wayne Jury          
6             Mr Percival         
7             Iron Maiden         
8             Atmasphere          
9             Ian Moss            
10            Magnum   

Výběr sloupců

Můžete určit, že v sadě výsledků budou vráceny pouze určité sloupce. Jednoduše napište názvy sloupců do dotazu. Názvy více sloupců musí být odděleny čárkou.

Je dobrou praxí vybrat jen ty sloupce, které potřebujete. Pomocí * , i když je to pohodlné, může způsobit další režii, pokud vrátí více sloupců, než je požadováno.

Spusťte tedy znovu stejný dotaz, ale tentokrát vyberte pouze ArtistName sloupec:

SELECT ArtistName FROM Artists
WHERE ArtistId BETWEEN 5 AND 10;

Výsledek:

ArtistName  
------------
Wayne Jury  
Mr Percival 
Iron Maiden 
Atmasphere  
Ian Moss    
Magnum 

Položka ORDER BY Ustanovení

Můžete použít ORDER BY klauzule k omezení počtu vrácených záznamů.

Můžete přidat ASC pro vzestupné pořadí nebo DESC pro sestupné pořadí. Pokud nic nepřidáte, použije se vzestupně.

Zde objednáváme podle Jméno interpreta pole ve vzestupném pořadí:

SELECT * FROM Artists
ORDER BY ArtistName;

Výsledek:

ArtistId      ArtistName          
------------  --------------------
8             Atmasphere          
15            Frank Gambale       
16            Frank Zappa         
9             Ian Moss            
7             Iron Maiden         
1             Joe Satriani        
10            Magnum              
6             Mr Percival         
4             Noiseworks          
14            Pat Metheny         
13            Primus              
12            Slayer              
2             Steve Vai           
11            Strapping Young Lad 
3             The Tea Party       
17            The Wiggles         
5             Wayne Jury  

A pokud přepneme na sestupné pořadí:

SELECT * FROM Artists
ORDER BY ArtistName DESC;

Výsledek:

ArtistId      ArtistName          
------------  --------------------
5             Wayne Jury          
17            The Wiggles         
3             The Tea Party       
11            Strapping Young Lad 
2             Steve Vai           
12            Slayer              
13            Primus              
14            Pat Metheny         
4             Noiseworks          
6             Mr Percival         
10            Magnum              
1             Joe Satriani        
7             Iron Maiden         
9             Ian Moss            
16            Frank Zappa         
15            Frank Gambale       
8             Atmasphere  

LIMIT Ustanovení

Můžete použít LIMIT klauzule k omezení počtu vrácených záznamů. To může být užitečné, pokud vaše tabulka obsahuje velké množství záznamů, ale chcete vidět jen hrstku.

Zde omezíme sadu záznamů pouze na pět záznamů:

SELECT * FROM Artists LIMIT 5;

Výsledek:

ArtistId      ArtistName          
------------  --------------------
1             Joe Satriani        
2             Steve Vai           
3             The Tea Party       
4             Noiseworks          
5             Wayne Jury 

  1. Jak obnovit Galera Cluster nebo replikaci MySQL ze syndromu rozděleného mozku

  2. Povolení TLS v R12.1

  3. Eliminace PostgreSQL Split-Brain ve vícecloudových databázích

  4. Trendy PostgreSQL:Nejoblíbenější poskytovatelé cloudu, jazyky, VACUUM, strategie správy dotazů a typy nasazení v podniku