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

Polecenia SQLite

Podsumowanie :w tym samouczku przedstawimy najczęściej używane polecenia SQLite programu wiersza poleceń sqlite3.

Projekt SQLite dostarcza proste narzędzie wiersza poleceń o nazwie sqlite3 (lub sqlite3.exe w systemie Windows), które pozwala na interakcję z bazami danych SQLite za pomocą instrukcji i poleceń SQL.

Połącz się z bazą danych SQLite

Aby uruchomić sqlite3, wpisz sqlite3 w następujący sposób:

>sqlite3
SQLite version 3.29.0 2019-07-10 17:32:03
Enter ".help" for usage hints.
Connected to a transient in-memory database.
Use ".open FILENAME" to reopen on a persistent database.
sqlite>Code language: Shell Session (shell)

Domyślnie sesja SQLite korzysta z bazy danych w pamięci, dlatego wszystkie zmiany znikną po zakończeniu sesji.

Aby otworzyć plik bazy danych, użyj .open FILENAME Komenda. Poniższa instrukcja otwiera chinook.db baza danych:

sqlite> .open c:\sqlite\db\chinook.dbCode language: Shell Session (shell)

Jeśli chcesz otworzyć określony plik bazy danych podczas łączenia się z bazą danych SQlite, użyj następującego polecenia:

>sqlite3 c:\sqlite\db\chinook.db
SQLite version 3.13.0 2016-05-18 10:57:30
Enter ".help" for usage hints.
sqlite>Code language: Shell Session (shell)

Jeśli rozpoczniesz sesję z nazwą bazy danych, która nie istnieje, narzędzie sqlite3 utworzy plik bazy danych.

Na przykład poniższe polecenie tworzy bazę danych o nazwie sales w C:\sqlite\db\ katalog:

>sqlite3 c:\sqlite\db\sales.db
SQLite version 3.29.0 2019-07-10 17:32:03
Enter ".help" for usage hints.
sqlite>Code language: Shell Session (shell)

Pokaż wszystkie dostępne polecenia i ich cele

Aby pokazać wszystkie dostępne polecenia i ich przeznaczenie, użyj .help polecenie w następujący sposób:

.helpCode language: Shell Session (shell)

Pokaż bazy danych w bieżącym połączeniu z bazą danych

Aby wyświetlić wszystkie bazy danych w bieżącym połączeniu, użyj .databases Komenda. .databases polecenie wyświetla przynajmniej jedną bazę danych o nazwie:main .

Na przykład następujące polecenie pokazuje wszystkie bazy danych bieżącego połączenia:

sqlite> .database
seq  name             file
---  ---------------  --------------------------
0    main             c:\sqlite\db\sales.db
sqlite>Code language: Shell Session (shell)

Aby dodać dodatkową bazę danych w bieżącym połączeniu, użyj instrukcji ATTACH DATABASE . Poniższa instrukcja dodaje chinook bazy danych do bieżącego połączenia.

sqlite> ATTACH DATABASE "c:\sqlite\db\chinook.db" AS chinook;Code language: Shell Session (shell)

Teraz, jeśli uruchomisz .database polecenie ponownie, sqlite3 zwraca dwie bazy danych:main i chinook .

sqlite> .databases
seq  name             file
---  ---------------  ---------------------
0    main             c:\sqlite\db\sales.db
2    chinook          c:\sqlite\db\chinook.db
Code language: Shell Session (shell)

Wyjdź z narzędzia sqlite3

Aby wyjść z programu sqlite3, użyj .exit polecenie.

sqlite>.exitCode language: Shell Session (shell)

Pokaż tabele w bazie danych

Aby wyświetlić wszystkie tabele w bieżącej bazie danych, użyj .tables Komenda. Poniższe polecenia otwierają nowe połączenie bazy danych z chinook bazy danych i wyświetlić tabele w bazie danych.

>sqlite3 c:\sqlite\db\chinook.db
SQLite version 3.29.0 2019-07-10 17:32:03
Enter ".help" for usage hints.
sqlite> .tables
albums          employees       invoices        playlists
artists         genres          media_types     tracks
customers       invoice_items   playlist_track
sqlite>Code language: Shell Session (shell)

Jeśli chcesz znaleźć tabele na podstawie określonego wzorca, użyj .table polecenie wzorca. sqlite3 używa LIKE operator dopasowywania wzorców.

Na przykład poniższa instrukcja zwraca tabelę, która kończy się ciągiem es .

sqlite> .table '%es'
employees    genres       invoices     media_types
sqlite>Code language: Shell Session (shell)

Pokaż strukturę tabeli

Aby wyświetlić strukturę tabeli, użyj .schema TABLE Komenda. TABLE argument może być wzorcem. Jeśli go pominiesz, .schema polecenie pokaże struktury wszystkich tabel.

Poniższe polecenie pokazuje strukturę albums tabela.

sqlite> .schema albums
CREATE TABLE "albums"
(
    [AlbumId] INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
    [Title] NVARCHAR(160)  NOT NULL,
    [ArtistId] INTEGER  NOT NULL,
    FOREIGN KEY ([ArtistId]) REFERENCES "artists" ([ArtistId])
                ON DELETE NO ACTION ON UPDATE NO ACTION
);
CREATE INDEX [IFK_AlbumArtistId] ON "albums" ([ArtistId]);
sqlite>Code language: Shell Session (shell)

Aby pokazać schemat i zawartość sqlite_stat tabele, używasz .fullschema polecenie.

sqlite>.fullschemaCode language: CSS (css)

Pokaż indeksy

Aby wyświetlić wszystkie indeksy bieżącej bazy danych, użyj .indexes polecenie w następujący sposób:

sqlite> .indexes
IFK_AlbumArtistId
IFK_CustomerSupportRepId
IFK_EmployeeReportsTo
IFK_InvoiceCustomerId
IFK_InvoiceLineInvoiceId
IFK_InvoiceLineTrackId
IFK_PlaylistTrackTrackId
IFK_TrackAlbumId
IFK_TrackGenreId
IFK_TrackMediaTypeIdCode language: Shell Session (shell)

Aby wyświetlić indeksy określonej tabeli, użyj .indexes TABLE Komenda. Na przykład, aby wyświetlić indeksy albums tabeli, użyj następującego polecenia:

sqlite> .indexes albums
IFK_AlbumArtistIdCode language: CSS (css)

Aby wyświetlić indeksy tabel, których nazwy kończą się na es , używasz wzorca operatora LIKE.

sqlite> .indexes %es
IFK_EmployeeReportsTo
IFK_InvoiceCustomerIdCode language: Shell Session (shell)

Zapisz wynik zapytania do pliku

Aby zapisać wynik zapytania do pliku, użyj .output FILENAME Komenda. Po wydaniu pliku .output polecenie, wszystkie wyniki kolejnych zapytań zostaną zapisane do pliku określonego w FILENAME argument. Jeśli chcesz zapisać wynik następnego pojedynczego zapytania tylko do pliku, wydajesz .once FILENAME polecenie.

Aby ponownie wyświetlić wynik zapytania na standardowym wyjściu, wydajesz .output polecenie bez argumentów.

Poniższe polecenia wybierają title z albums tabeli i zapisz wynik do pliku albums.txt plik.

sqlite> .output albums.txt
sqlite> SELECT title FROM albums;Code language: Shell Session (shell)

Wykonywanie instrukcji SQL z pliku

Załóżmy, że mamy plik o nazwie commands.txt w c:\sqlite\ folder z następującą zawartością:

SELECT albumid, title
FROM albums
ORDER BY title
LIMIT 10;Code language: Shell Session (shell)

Aby wykonać instrukcje SQL w pliku commands.txt użyj pliku .read FILENAME polecenie w następujący sposób:

sqlite> .mode column
sqlite> .header on
sqlite> .read c:/sqlite/commands.txt
AlbumId     Title
----------  ----------------------
156         ...And Justice For All
257         20th Century Masters -
296         A Copland Celebration,
94          A Matter of Life and D
95          A Real Dead One
96          A Real Live One
285         A Soprano Inspired
139         A TempestadeTempestade
203         A-Sides
160         Ace Of SpadesCode language: Shell Session (shell)

W tym samouczku nauczyłeś się wielu przydatnych poleceń narzędzia sqlite3 do wykonywania różnych zadań związanych z bazą danych SQLite.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Błąd Androida:nie można wykonać tej operacji, ponieważ pula połączeń została zamknięta

  2. Funkcje JSON są teraz domyślnie włączone w SQLite

  3. Usuń zapytanie i odśwież w ListView w Androidzie (sqlite)

  4. 2 sposoby na włączenie zawijania słów w SQLite

  5. Co to jest SQLite?