SQLite
 sql >> Baza danych >  >> RDS >> SQLite

SQLite - Wybierz dane

Aby wybrać dane z bazy danych SQLite, użyj SELECT oświadczenie.

Korzystając z tej instrukcji, określasz, z których tabel/y wybrać dane, a także kolumny, które mają zostać zwrócone z zapytania.

Możesz również podać dodatkowe kryteria, aby jeszcze bardziej zawęzić zwracane dane.

Prosty SELECT Oświadczenie

Użyliśmy już SELECT oświadczenie wcześniej, kiedy wstawialiśmy dane.

Stwierdzenie, którego użyliśmy, było następujące:

SELECT * FROM Artists;

Jest to dość oczywiste — mówi SQLite, aby wybrał wszystkie kolumny z Artystów stół. Gwiazdka (* ) to skrótowy sposób powiedzenia „wszystkie kolumny”. Oszczędza nam to wypisywania nazw wszystkich kolumn.

Dlatego ta kwerenda zwraca wszystkie rekordy i wszystkie kolumny. Tak:

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

Formatowanie

Sformatujmy dane wyjściowe, aby nasze wyniki były nieco łatwiejsze do odczytania.

Użyj kolumn

Możesz użyć .mode aby zmienić tryb wyjścia. Powyższy przykład używa .mode list , który wyświetla wyniki w postaci listy.

Zmieńmy tryb na używanie kolumn.

.mode column

Gdy to zrobisz, może być konieczne dostosowanie szerokości kolumn (wszelkie dane, które są zbyt szerokie dla kolumny, zostaną obcięte).

Dostosuj szerokość kolumn

Aby dostosować szerokość kolumn, użyj .width polecenie, a następnie szerokości dla każdej kolumny.

Poniższy przykład ustawia pierwszą kolumnę na 12 a druga kolumna do 20 .

.width 12 20

Dodaj nagłówki

Możesz także użyć .headers aby określić, czy wyświetlać nagłówki kolumn.

Aby wyświetlić nagłówki, użyj tego:

.headers on

Możesz je usunąć za pomocą .headers off .

Pokaż ustawienia

Możesz przejrzeć te i inne ustawienia w dowolnym momencie, wpisując .show

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

Nowy format

Oto jak wygląda poprzedni przykład w trybie kolumn i nagłówków:

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 Klauzula

Możesz użyć WHERE klauzula zawężająca wyniki. Klauzula umożliwia określenie konkretnych kryteriów, dla których należy zastosować zapytanie.

Na przykład możesz określić, że powinny być zwracane tylko rekordy, w których określone pole zawiera określoną wartość.

Oto bardzo konkretny przykład. Określa, że ​​tylko rekord z ArtistId równa 6 należy zwrócić:

SELECT * FROM Artists
WHERE ArtistId = 6;

Wynik:

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

Aby znaleźć wszystkich wykonawców, których imię zaczyna się na literę „S”, możesz to zrobić:

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

Wynik:

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

Znak procentu (% ) to znak wieloznaczny, którego można użyć do określenia dowolnego znaku. Tak więc w tym przykładzie określamy, że nazwa artysty musi być podobna do tego wzorca (tj. Wzorzec zaczynający się na literę S i podążając za dowolną inną postacią).

Kolejny przykład użycia WHERE klauzula ma na celu pobranie zakresu wartości. Na przykład moglibyśmy szukać rekordów, w których wartość jest mniejsza niż liczba, większa niż liczba lub mieści się w określonym zakresie.

Oto przykład wyboru tylko tych rekordów z ArtistId mniej niż liczba:

SELECT * FROM Artists
WHERE ArtistId < 6;

Wynik:

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

Oto przykład wyboru tylko tych rekordów z ArtistId w pewnym zakresie:

SELECT * FROM Artists
WHERE ArtistId BETWEEN 5 AND 10;

Wynik:

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

Wybieranie kolumn

Możesz określić, że w zestawie wyników będą zwracane tylko niektóre kolumny. Po prostu wpisz nazwy kolumn w zapytaniu. Nazwy wielu kolumn należy oddzielić przecinkami.

Dobrą praktyką jest wybranie tylko tych kolumn, których potrzebujesz. Korzystanie z * , choć wygodne, może spowodować dodatkowe obciążenie, jeśli zwróci więcej kolumn niż jest to wymagane.

Uruchommy ponownie to samo zapytanie, ale tym razem wybierzmy tylko Nazwa wykonawcy kolumna:

SELECT ArtistName FROM Artists
WHERE ArtistId BETWEEN 5 AND 10;

Wynik:

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

ORDER BY Klauzula

Możesz użyć ORDER BY klauzula ograniczająca liczbę zwracanych rekordów.

Możesz dodać ASC dla kolejności rosnącej lub DESC dla porządku malejącego. Jeśli nic nie dodasz, użyje rosnącej.

Tutaj zamawiamy przez ArtistName pole w porządku rosnącym:

SELECT * FROM Artists
ORDER BY ArtistName;

Wynik:

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 jeśli przejdziemy do kolejności malejącej:

SELECT * FROM Artists
ORDER BY ArtistName DESC;

Wynik:

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 Klauzula

Możesz użyć LIMIT klauzula ograniczająca liczbę zwracanych rekordów. Może to być przydatne, jeśli Twoja tabela zawiera dużą liczbę rekordów, ale chcesz zobaczyć tylko garść.

Tutaj ograniczamy zestaw rekordów do tylko pięciu rekordów:

SELECT * FROM Artists LIMIT 5;

Wynik:

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

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak stworzyć natywną aplikację na Androida działającą w trybie offline?

  2. JSON_INSERT() vs JSON_SET() vs JSON_REPLACE() w SQLite

  3. ActiveAndroid Pre wypełnij tabelę za pomocą migracji schematu

  4. Wybierz wiele kolumn z dwóch tabel za pomocą greendao

  5. Oblicz liczbę sekund od określonej daty/godziny w SQLite