SQLite
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> SQLite

Lệnh SQLite

Tóm tắt :trong hướng dẫn này, chúng tôi sẽ giới thiệu cho bạn các lệnh SQLite được sử dụng phổ biến nhất của chương trình dòng lệnh sqlite3.

Dự án SQLite cung cấp một công cụ dòng lệnh đơn giản có tên sqlite3 (hoặc sqlite3.exe trên Windows) cho phép bạn tương tác với cơ sở dữ liệu SQLite bằng cách sử dụng các câu lệnh và lệnh SQL.

Kết nối với cơ sở dữ liệu SQLite

Để bắt đầu sqlite3, bạn gõ sqlite3 như sau:

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

Theo mặc định, một phiên SQLite sử dụng cơ sở dữ liệu trong bộ nhớ, do đó, tất cả các thay đổi sẽ biến mất khi phiên kết thúc.

Để mở tệp cơ sở dữ liệu, bạn sử dụng .open FILENAME yêu cầu. Câu lệnh sau sẽ mở ra chinook.db cơ sở dữ liệu:

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

Nếu bạn muốn mở một tệp cơ sở dữ liệu cụ thể khi bạn kết nối với cơ sở dữ liệu SQlite, bạn sử dụng lệnh sau:

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

Nếu bạn bắt đầu một phiên với tên cơ sở dữ liệu không tồn tại, công cụ sqlite3 sẽ tạo tệp cơ sở dữ liệu.

Ví dụ:lệnh sau tạo cơ sở dữ liệu có tên sales trong C:\sqlite\db\ thư mục:

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

Hiển thị tất cả các lệnh có sẵn và mục đích của chúng

Để hiển thị tất cả các lệnh có sẵn và mục đích của chúng, bạn sử dụng .help lệnh như sau:

.helpCode language: Shell Session (shell)

Hiển thị cơ sở dữ liệu trong kết nối cơ sở dữ liệu hiện tại

Để hiển thị tất cả cơ sở dữ liệu trong kết nối hiện tại, bạn sử dụng .databases yêu cầu. .databases lệnh hiển thị ít nhất một cơ sở dữ liệu có tên:main .

Ví dụ:lệnh sau hiển thị tất cả cơ sở dữ liệu của kết nối hiện tại:

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

Để thêm cơ sở dữ liệu bổ sung trong kết nối hiện tại, bạn sử dụng câu lệnh ATTACH DATABASE . Câu lệnh sau thêm chinook cơ sở dữ liệu với kết nối hiện tại.

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

Bây giờ nếu bạn chạy .database một lần nữa, sqlite3 trả về hai cơ sở dữ liệu:mainchinook .

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

Thoát công cụ sqlite3

Để thoát khỏi chương trình sqlite3, bạn sử dụng .exit lệnh.

sqlite>.exitCode language: Shell Session (shell)

Hiển thị bảng trong cơ sở dữ liệu

Để hiển thị tất cả các bảng trong cơ sở dữ liệu hiện tại, bạn sử dụng .tables yêu cầu. Các lệnh sau sẽ mở một kết nối cơ sở dữ liệu mới tới chinook cơ sở dữ liệu và hiển thị các bảng trong cơ sở dữ liệu.

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

Nếu bạn muốn tìm các bảng dựa trên một mẫu cụ thể, bạn sử dụng .table lệnh mẫu. Sqlite3 sử dụng LIKE toán tử để đối sánh mẫu.

Ví dụ:câu lệnh sau trả về bảng kết thúc bằng chuỗi es .

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

Hiển thị cấu trúc của bảng

Để hiển thị cấu trúc của bảng, bạn sử dụng .schema TABLE yêu cầu. TABLE đối số có thể là một mẫu. Nếu bạn bỏ qua, .schema lệnh sẽ hiển thị cấu trúc của tất cả các bảng.

Lệnh sau hiển thị cấu trúc của albums bảng.

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)

Để hiển thị lược đồ và nội dung của sqlite_stat bảng, bạn sử dụng .fullschema lệnh.

sqlite>.fullschemaCode language: CSS (css)

Hiển thị chỉ mục

Để hiển thị tất cả các chỉ mục của cơ sở dữ liệu hiện tại, bạn sử dụng .indexes lệnh như sau:

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)

Để hiển thị các chỉ mục của một bảng cụ thể, bạn sử dụng .indexes TABLE yêu cầu. Ví dụ:để hiển thị chỉ mục của albums bảng, bạn sử dụng lệnh sau:

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

Để hiển thị chỉ mục của các bảng có tên kết thúc bằng es , bạn sử dụng một mẫu của toán tử LIKE.

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

Lưu kết quả của một truy vấn vào một tệp

Để lưu kết quả của một truy vấn vào một tệp, bạn sử dụng .output FILENAME yêu cầu. Sau khi bạn phát hành .output lệnh, tất cả kết quả của các truy vấn tiếp theo sẽ được lưu vào tệp mà bạn đã chỉ định trong FILENAME lý lẽ. Nếu bạn chỉ muốn lưu kết quả của một truy vấn tiếp theo vào tệp, bạn phát hành .once FILENAME lệnh.

Để hiển thị lại kết quả của truy vấn với đầu ra chuẩn, bạn phát hành .output lệnh không có đối số.

Các lệnh sau chọn title từ albums bảng và ghi kết quả vào albums.txt tệp.

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

Thực thi các câu lệnh SQL từ một tệp

Giả sử chúng ta có một tệp có tên là commands.txt trong c:\sqlite\ thư mục có nội dung sau:

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

Để thực thi các câu lệnh SQL trong commands.txt , bạn sử dụng .read FILENAME lệnh như sau:

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)

Trong hướng dẫn này, bạn đã học được nhiều lệnh hữu ích trong công cụ sqlite3 để thực hiện các tác vụ khác nhau liên quan đến cơ sở dữ liệu 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. Kiểm tra xem chuỗi cột trong cơ sở dữ liệu có phải là chuỗi con của một truy vấn trong sqlite không

  2. Lưu kết quả truy vấn SQLite vào tệp văn bản

  3. Phòng Android + Chức năng cửa sổ

  4. Cách xử lý các giá trị boolean trong SQLite bằng JavaScript Proxy

  5. SQLite - Cập nhật dữ liệu