SQLite
 sql >> база данни >  >> RDS >> SQLite

SQLite команди

Резюме :в този урок ще ви запознаем с най-често използваните SQLite команди на програмата sqlite3 от командния ред.

Проектът SQLite предоставя прост инструмент от команден ред, наречен sqlite3 (или sqlite3.exe за Windows), който ви позволява да взаимодействате с базите данни на SQLite, като използвате SQL изрази и команди.

Свържете се с база данни на SQLite

За да стартирате sqlite3, въведете sqlite3, както следва:

>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)

По подразбиране SQLite сесията използва базата данни в паметта, следователно всички промени ще изчезнат, когато сесията приключи.

За да отворите файл на база данни, използвате .open FILENAME команда. Следното изявление отваря chinook.db база данни:

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

Ако искате да отворите конкретен файл на база данни, когато се свържете към базата данни SQlite, използвайте следната команда:

>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)

Ако стартирате сесия с име на база данни, което не съществува, инструментът sqlite3 ще създаде файла на базата данни.

Например, следната команда създава база данни с име sales в C:\sqlite\db\ директория:

>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)

Показване на всички налични команди и техните цели

За да покажете всички налични команди и тяхната цел, използвате .help команда, както следва:

.helpCode language: Shell Session (shell)

Показване на бази данни в текущата връзка с база данни

За да покажете всички бази данни в текущата връзка, използвате .databases команда. .databases командата показва поне една база данни с име:main .

Например следната команда показва всички бази данни на текущата връзка:

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

За да добавите допълнителна база данни в текущата връзка, използвате израза ATTACH DATABASE . Следното изявление добавя chinook база данни към текущата връзка.

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

Сега, ако стартирате .database командата отново, sqlite3 връща две бази данни:main и 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)

Излезте от инструмента sqlite3

За да излезете от програмата sqlite3, използвате .exit команда.

sqlite>.exitCode language: Shell Session (shell)

Показване на таблици в база данни

За да покажете всички таблици в текущата база данни, използвате .tables команда. Следните команди отварят нова връзка към базата данни към chinook база данни и покажете таблиците в базата данни.

>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)

Ако искате да намерите таблици въз основа на конкретен модел, използвайте .table команда шаблон. sqlite3 използва LIKE оператор за съвпадение на шаблони.

Например, следният оператор връща таблицата, която завършва с низа es .

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

Показване на структурата на таблица

За да покажете структурата на таблица, използвате .schema TABLE команда. TABLE аргументът може да бъде модел. Ако го пропуснете, .schema командата ще покаже структурите на всички таблици.

Следната команда показва структурата на albums таблица.

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)

За да покажете схемата и съдържанието на sqlite_stat таблици, използвате .fullschema команда.

sqlite>.fullschemaCode language: CSS (css)

Показване на индекси

За да покажете всички индекси на текущата база данни, използвате .indexes команда, както следва:

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)

За да покажете индексите на конкретна таблица, използвате .indexes TABLE команда. Например за показване на индекси на albums таблица, използвате следната команда:

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

За показване на индекси на таблиците, чиито имена завършват с es , използвате шаблон на оператора LIKE.

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

Запазете резултата от заявка във файл

За да запишете резултата от заявка във файл, използвате .output FILENAME команда. След като издадете .output команда, всички резултати от следващите заявки ще бъдат запазени във файла, който сте посочили в FILENAME аргумент. Ако искате да запишете резултата от следващата единична заявка само във файла, издавате .once FILENAME команда.

За да покажете отново резултата от заявката на стандартния изход, издавате .output команда без аргументи.

Следните команди избират title от albums таблица и запишете резултата в albums.txt файл.

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

Изпълнете SQL оператори от файл

Да предположим, че имаме файл с име commands.txt в c:\sqlite\ папка със следното съдържание:

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

За да изпълните SQL операторите в commands.txt файл, използвате .read FILENAME команда, както следва:

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)

В този урок научихте много полезни команди в инструмента sqlite3 за изпълнение на различни задачи, които се занимават с базата данни 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. Как iif() работи в SQLite

  2. Как да конкатенираме низове в SQLite

  3. Android:NullPointerException Не може да се зареди база данни в изглед на списък в рамките на фрагмент

  4. SQLite SUBSTRING() Обяснено

  5. Android Room Database, извличане на конкретна стойност на последния въведен запис