Hướng dẫn SQLite: Mọi thứ bạn cần biết



Hướng dẫn sqlite này sẽ giúp bạn hiểu sqlite khác với các hệ thống cơ sở dữ liệu quan hệ khác như thế nào và tất cả các lệnh cơ bản

Nếu bạn đã làm việc với các hệ thống cơ sở dữ liệu quan hệ, có thể bạn đã nghe nói về các hệ thống cơ sở dữ liệu phổ biến như MySQL , Máy chủ hoặc PostgreSQL . SQLite là một RDBMS cực kỳ hữu ích khác, rất đơn giản để thiết lập và vận hành. Ngoài ra, nó có nhiều tính năng khác biệt so với các cơ sở dữ liệu quan hệ khác. Hướng dẫn SQLite này dạy các khái niệm cơ bản mà bạn cần biết với sự trợ giúp của các phương pháp thực hành sâu rộng.

Các chủ đề được thảo luận trong bài viết này là:





Hướng dẫn sử dụng SQLite: SQLite là gì?

Đây là định nghĩa tiêu chuẩn ngành của SQLite:

SQLite là một công cụ cơ sở dữ liệu quan hệ giao dịch mã nguồn mở, không cấu hình, độc lập, độc lập, được thiết kế để nhúng vào một ứng dụng.

Bạn có thể xem xét SQLite như một ' nhẹ hơn ”Phiên bản RDBMS phức tạp khác (Oracle, , v.v.), nơi công cụ cơ sở dữ liệu của nó được định cấu hình cho xử lý độc lập (thư viện trong quá trình) tức là a không máy chủ, khép kín, không cấu hình và giao dịch . Nó được biết đến với tính di động, độ tin cậy và hiệu suất mạnh mẽ ngay cả trong môi trường bộ nhớ thấp. Ngoài ra, SQLite là một lựa chọn phổ biến làm cơ sở dữ liệu nhúng để lưu trữ cục bộ / máy khách trong các chương trình hoặc ứng dụng cuối, không giống như các RDBMS khác, nơi động cơ DB máy khách-máy chủ được cấu hình.



Các tính năng của SQLite

SQLite cung cấp nhiều tính năng riêng biệt như:

  • Không máy chủ: Phần lớn Cơ sở dữ liệu SQL được thực hiện như một quy trình máy chủ riêng biệt, nhưng SQLite không có một quy trình máy chủ riêng biệt. Nó là một công cụ cơ sở dữ liệu không có máy chủ. Nó đọc và ghi trực tiếp vào các tệp đĩa thông thường.
  • Cấu hình Zero:không yêu cầu cấu hình để chạy. Điều này có nghĩa là, không có quy trình máy chủ nào cần được khởi động, dừng hoặc cấu hình như trong hệ thống máy khách / máy chủ.
  • Nhập tệp kê khai: SQLite sử dụng cách nhập tệp kê khai, cho phép lưu trữ bất kỳ lượng dữ liệu nào thuộc bất kỳ cột nào vào bất kỳ cột nào mà không cần quan tâm đến kiểu dữ liệu được khai báo của cột. Lưu ý rằng có một số ngoại lệ đối với quy tắc này.
  • Nhẹ: Cái tên nói lên tất cả, thư viện SQLite rất nhẹ. Điều đó là, mặc dù dung lượng nó sử dụng khác nhau tùy thuộc vào hệ thống mà nó được lắp đặt, nó có thể chiếm ít hơn 600KiB dung lượng.
  • Di động: Không giống như các DBMS khác, mộttoàn bộ cơ sở dữ liệu SQLite được lưu trữ trong một tệp duy nhất.Tệp này có thể được chia sẻ qua phương tiện di động hoặc giao thức truyền tệp rất dễ dàng.
  • Sự lựa chọn đa dạng: Nhiều ngôn ngữ lập trình cung cấp các ràng buộc cho SQLite, bao gồm , , C # , , , Ruby , , và nhiều thứ khác nữa.
  • Miễn phí: SQLite là mã nguồn mở miễn phí. Để làm việc với SQLite, bạn không cần phải có giấy phép thương mại.

Như đã liệt kê ở trên SQLiteđược biết đến với cấu hình không có nghĩa là không cần thiết lập hoặc quản trị phức tạp. Trong phần tiếp theo của hướng dẫn SQLite này, hãy xem cách cài đặt SQLite trên hệ thống của bạn.

Hướng dẫn SQLite: Cài đặt SQLite trên Windows

Các bước cần làm là:



Bước 1: Đi đến SQLite chính thức trang web và nhấp vào liên kết phù hợp để tải xuốngmã nhị phân được biên dịch trước.

Bước 2: Tải xuống tệp zip dòng lệnh SQLite (tại đây: sqlite-tools-win32-x86-3270200.zip) và mở rộng các tệp này trong một thư mục bạn chọn.

Công cụ dòng lệnh SQLite này sẽ chứa các sản phẩm SQLite sau

  • Lõi SQLite : Lõi SQLite chứa công cụ cơ sở dữ liệu thực tế và API công khai.
  • Công cụ dòng lệnh SQLite3 : Ứng dụng sqlite3 là một công cụ dòng lệnh được xây dựng trên lõi SQLite.
  • Phần mở rộng Tcl : Thư viện này thực chất là một bản sao của lõi SQLite với các ràng buộc Tcl được gắn vào.
  • Công cụ phân tích SQLite : Công cụ phân tích SQLite được sử dụng để phân tích các tệp cơ sở dữ liệu.

Bước 3: Sau đó, bắt đầu dòng lệnh SQLite đơn giản như nhấp vào ứng dụng sqlite3, điều này sẽ làm cho dòng lệnh bật lên.

Nếu bạn muốn kiểm tra thêm, chỉ cần nhập .Cứu giúp lệnh từ sqlite> nhắc để xem tất cả các lệnh có sẵn trong sqlite3 như hình bên dưới.

Ghi chú: 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.

Đủ đơn giản phải không? Sau đó, hãy bắt đầu với các lệnh SQLite.

Hướng dẫn SQLite: Lệnh SQLite

Phần này của hướng dẫn SQLite trình bày các câu lệnh SQL cơ bản mà bạn có thể sử dụng với SQLite.

Ghi chú: Các lệnh SQLite kết thúc bằng dấu chấm phẩy (). Nó cho SQLite biết rằng lệnh của bạn đã hoàn tất và sẽ được chạy.Ngoài ra, bạn có thể trải rộng lệnh của mình trên nhiều dòng và sử dụng dấu chấm phẩy ở dòng cuối cùng.

sắp xếp trong c ++

Lệnh cơ sở dữ liệu

Phần này bao gồm các lệnh đó, qua đó bạn có thể xử lý cơ sở dữ liệu của mình. Các lệnh là:

  • SQLite Tạo cơ sở dữ liệu

SQLite không sử dụng câu lệnh CREATE DATABASE như trong các hệ quản trị cơ sở dữ liệu quan hệ khác, chẳng hạn như MySQL , SQL Server, v.v ... Để tạo cơ sở dữ liệu mới trong SQLite, chỉ cần nhập sqlite3 theo sau là tên của tệp mà bạn muốn sử dụng cho cơ sở dữ liệu. Tmã sau tạo một tệp cơ sở dữ liệu có tên là StudentDetails.db:

Thí dụ

sqlite3 StudentDetails.db sqlite> .databases main: D: sqliteStudentDetails.db
  • Cơ sở dữ liệu đính kèm SQLite

Khi bạn có nhiều cơ sở dữ liệu, bạn chỉ có thể sử dụng một cơ sở dữ liệu tại một thời điểm. Trong SQLite, câu lệnh ATTACH DATABASE được sử dụng để đính kèm một cơ sở dữ liệu cụ thể cho kết nối hiện tại. ATuân theo lệnh này, tất cả các câu lệnh SQLite sẽ được thực thi trong cơ sở dữ liệu đính kèm.

Thí dụ

sqlite> ATTACH DATABASE 'DepartmentDetails.db' AS 'Department' sqlite> .databases main: D: sqliteStudentDetails.db Vụ: D: sqliteDepartmentDetails.db
  • Cơ sở dữ liệu tách SQLite

Trong SQLite, câu lệnh DETACH DATABASE được sử dụng để tách cơ sở dữ liệu có tên bí danh khỏi kết nối cơ sở dữ liệu đã được đính kèm trước đó bằng cách sử dụng câu lệnh ATTACH. Nếu cùng một tệp cơ sở dữ liệu đã được đính kèm với nhiều bí danh, thì lệnh này sẽ ngắt kết nối chỉ tên đã cho và phần còn lại của tệp đính kèm vẫn tiếp tục tồn tại.Các cơ sở dữ liệu trong bộ nhớ trong hoặc cơ sở dữ liệu tạm thời sẽ bị phá hủy hoàn toàn và nội dung sẽ bị mất.

Thí dụ

sqlite> .databases main: D: sqliteStudentDetails.db Department: D: sqliteDepartmentDetails.db Sinh viên: D: sqliteStudentDetails.db DeptInformation: D: sqliteDepartmentDetails.db sqlite> DETACH DATABASE 'Department D: sqlails main Sinh viên: D: sqliteStudentDetails.db DeptInformation: D: sqliteDepartmentDetails.db

Lệnh bảng

Sau đây chúng ta sẽ học cách xử lý các bảng khi sử dụng SQLite.

  • SQL Tạo bảng

Trong SQLite, câu lệnh CREATE TABLE được sử dụng để tạo một bảng mới. Trong khi tạo bảng, bạn cần đặt tên cho bảng và xác định cột và kiểu dữ liệu của từng cột.

Cú pháp:

TẠO BẢNG Tên_bảng (Kiểu_tài_tạo_cột [các ràng buộc] Kiểu_tài_tính Column2 [các ràng buộc] [.....])

Thí dụ

TẠO BẢNG StudentInfo (ID INT PRIMARY KEY NOT NULL, NAME TEXT NOT NULL, AGE INT NOT NULL, ADDRESS CHAR (50), DEPARTMENTID INTEGER NOT NULL, PHONE TEXT DEFAULT 'UNKNOWN', FOREIGN KEY (DEPARTMENTID) TÀI LIỆU THAM KHẢO PhòngInfo (DeptID))

Bạn có thể kiểm tra xem bảng đã được tạo hay chưa bằng cách sử dụng .những cái bàn lệnh như hình dưới đây. Lưu ý rằng tôi đã tạo một bảng có tên DepartmentInfo trong đó DeptID là khóa chính.Bảng Phòng ban có ràng buộc khóa Ngoại đối với bảng Sinh viên.

sqlite> .tables StudentInfo Danh bạ Emp_Master
  • Bảng thả SQLite

Trong SQLite, câu lệnh DROP TABLE cho phép bạn loại bỏ hoặc xóa một bảng khỏi cơ sở dữ liệu SQLite. Khi bảng bị xóa, tất cả dữ liệu trong bảng sẽ bị xóa vĩnh viễn khỏi cơ sở dữ liệu. Mọi chỉ mục và trình kích hoạt liên quan cũng bị xóa. Nếu có bất kỳ ràng buộc khóa ngoại nào được bật trên bảng đó, thì điều đó sẽ xóa tương đương cho mỗi hàng trong bảng và bất kỳ trình kích hoạt nào được liên kết với bảng cũng sẽ bị loại bỏ.

Cú pháp

DROP TABLE [IF EXISTS] table_name

Thí dụ

DROP TABLE Bộ phận Lỗi: không có bảng nào như vậy: Bộ môn DROP TABLE Công ty sqlite> .tables StudentInfo

Ghi chú: IF tồn tại, là một mệnh đề tùy chọn. Nếu được chỉ định, câu lệnh DROP TABLE sẽ không phát sinh lỗi nếu một trong các bảng không tồn tại.

Ngoài ra, có một Câu lệnh SQLite Alter Table , mà chúng ta sẽ hiểu trong một vài phần tiếp theo của bài viết này. Bây giờ chúng ta đã tạo một bảng, hãy xem cách chèn, xóa và thay đổi dữ liệu.

Hướng dẫn SQLite: Hoạt động CRUD

  • Truy vấn Chèn SQLite

Sau khi tạo bảng, lệnh SQLite Insert Into có thể được sử dụng để tạo các hàng mới trong bảng đã chỉ định. Có hai dạng có ý nghĩa của câu lệnh chèn SQLite. Biểu mẫu đầu tiên sử dụng mệnh đề VALUES để chỉ định danh sách các giá trị cần chèn.

Cú pháp

CHÈN VÀO TABLE_NAME [(column1, column2, column3, ... columnN)] VALUES (value1, value2, value3, ... valueN)

Thí dụ

CHÈN VÀO GIÁ TRỊ CỦA StudentInfo (ID, TÊN, TUỔI, ĐỊA CHỈ, DEPARTMENTID, ĐIỆN THOẠI) (1, 'Dean', 20, 'California', 2, '934 *******')

Đầu ra

CHỌN * từ StudentInfo TÊN ID TUỔI ĐỊA CHỈ DEPARTMENTID ĐIỆN THOẠI ---------- ---------- ---------- ---------- ---------- ---------- 1 Trưởng khoa 20 California 2 934 *******

Tại đây, một hàng mới được tạo và mỗi giá trị được ghi vào cột tương ứng. Lưu ý rằng cả hai danh sách phải có tương tự số hạng mục. Đây, danh sách các cột Là tùy chọn. Chúng tôi cũng có thể chèn dữ liệu vào bảng mà không chỉ định danh sách các cột .

Thí dụ

CHÈN VÀO GIÁ TRỊ StudentInfo (2, 'SAM', 22, 'Texas', 2, '976 *******')

Đầu ra

CHỌN * từ StudentInfo TÊN ID TUỔI ĐỊA CHỈ DEPARTMENTID ĐIỆN THOẠI ---------- ---------- ---------- ---------- ---------- ---------- 1 Dean 20 California 2 934 ******* 2 SAM 22 Texas 2 976 *******

SQLite cũng cung cấp một tính năng để chèn nhiều hàng trong một câu lệnh INSERT. Cú pháp như hình dưới đây.

Thí dụ

CHÈN VÀO GIÁ TRỊ StudentInfo (3, 'John', 23, 'Na Uy', 1, '923 *******'), (4, 'Mitch', 22, 'Houston', 3, '934 ** ***** ')

Đầu ra

Chọn * từ StudentInfo 1 | Dean | 20 | California | 2 | 934 ******* 2 | SAM | 22 | Texas | 2 | 976 ******* 3 | John | 23 | Na Uy | 1 | 923 ******* 4 | Mitch | 22 | Houston | 3 | 934 *******

Như bạn có thể thấy, định dạng của đầu ra không hoàn toàn giống với trước đó. Vì vậy, làm thế nào để bạn thay đổi định dạng đầu ra trong SQLite? Hãy định dạng đầu ra để kết quả của chúng ta dễ đọc hơn một chút.

  • Hình thành

Bạn có thể sử dụng .mode để thay đổi chế độ đầu ra. Ví dụ trên sử dụng .chế độ danh sách, hiển thị kết quả dưới dạng danh sách. Ngoài ra, bạn có thể sử dụng .headers câu lệnh để chỉ định có hay không hiển thị tiêu đề cột. Sau khi thực hiện các thay đổi, bạn có thể xem cài đặt bằng cách sử dụng .chỉ chỉ huy.

Thí dụ

sqlite> .mode 'column' sqlite> .headers trên sqlite> .show echo: off eqp: off giải thích: auto headers: on mode: column nullvalue: '' output: stdout colseparator: '|' rowseparator: 'n' stats: off width: filename: StudentDetails.db

Đầu ra

CHỌN * TỪ StudentInfo TÊN ID TUỔI ĐỊA CHỈ SỞ HỮU ĐIỆN THOẠI ---------- ---------- ---------- ---------- ---------- ---------- 1 Dean 20 California 2 934 ******* 2 SAM 22 Texas 2 976 ******* 3 John 23 Na Uy 1 923 ******* 4 Mitch 22 Houston 3 934 *******
  • Truy vấn chọn SQLite

Trong SQLite, câu lệnh Select được sử dụngđể tìm nạp dữ liệu từ bảng, bảng này sẽ trả về dữ liệu ở dạng bảng kết quả. Các bảng kết quả này còn được gọi là kết quả các bộ. Sử dụng câu lệnh SQLite select, chúng tôi có thể thực hiện các phép tính đơn giản hoặc nhiều biểu thức dựa trên yêu cầu của chúng tôi.Trước đây, chúng tôi đã sử dụng câu lệnh SELECT khi chúng tôi chèn dữ liệu.

Cú pháp

CHỌN [TẤT CẢ | DISTINCT] kết quả [FROM table-list] [WHERE expr]
  • DISTINCT - Khi chúng ta sử dụng từ khóa khác biệt trong một câu lệnh select, nó chỉ trả về các hàng dữ liệu riêng biệt.
  • TẤT CẢ - Nếu chúng ta sử dụng từ khóa ALL trong câu lệnh select, nó sẽ trả về tất cả các hàng dữ liệu ngay cả khi nó bị trùng lặp.
  • TỪ danh sách bảng - Đây là danh sách các bảng mà bạn muốn lấy dữ liệu.
  • Biểu thức WHERE - Biểu thức WHERE được sử dụng để xác định các điều kiện tùy chỉnh của chúng tôi để lấy dữ liệu cần thiết từ các bảng.

Ví dụ 1

CHỌN ID, TÊN TỪ StudentInfo NƠI TUỔI<21

Đầu ra

HỌ TÊN ---------- ---------- 1 Trưởng khoa

Ví dụ2

Chọn TÊN TỪ StudentInfo WHERE DEPARTMENTID = (CHỌN DeptID TỪ DepartmentInfo WHERE DeptName = 'Tâm lý học')

Đầu ra

// tìm nạp những người từ bộ phận có id là 2 TÊN ---------- Dean SAM
  • Truy vấn cập nhật SQLite

Trong SQLite, câu lệnh UPDATE có thể được sử dụng để sửa đổi các bản ghi hiện có trong bảng.Mệnh đề WHERE của SQLite có thể được sử dụng để chỉ định chính xác hàng nào nên được cập nhật. Bạn có thể dễ dàng cập nhật tất cả các hàng, một số hàng hoặc không, tùy thuộc vào các điều kiện lọc được áp dụng bởi mệnh đề WHERE.

Cú pháp

CẬP NHẬT tên_bảng_Đặt cột1 = giá_trị1, cột2 = giá_trị2 ...., cộtN = giá_trị NƠI [điều kiện]

Thí dụ

CẬP NHẬT StudentInfo SET DEPARTMENTID = 4 WHERE ID = '2'

Đầu ra

CHỌN * TỪ TÊN ID StudentInfo TUỔI ĐỊA CHỈ DEPARTMENTID ĐIỆN THOẠI ---------- ---------- ---------- ---------- ------------ ---------- 1 Dean 20 California 2 934 ******* 2 SAM 22 Texas 4 976 ******* 3 John 23 Na Uy 1 923 ******* 4 Mitch 22 Houston 3 934 *******
  • Truy vấn Xóa SQLite

Trong SQLite, câu lệnh DELETE có thể được sử dụng để xóa bản ghi khỏi bảng. Bạn có thể dễ dàng xóa tất cả các hàng, một số hàng hoặc không, tùy thuộc vào các điều kiện lọc được áp dụng bởi mệnh đề WHERE.

Thí dụ

XÓA TỪ DepartmentInfo WHERE DeptName = 'Khoa học'

Đầu ra

SELECT * FROM DepartmentInfo DeptID DeptName ---------- ----------- 1 Toán 2 Tâm lý 3 Thể thao 4 Âm nhạc

Nếu bạn cố gắng xóa một bản ghi được tham chiếu bởi khóa ngoại, bạn sẽ gặp lỗi. Trước tiên, bạn sẽ cần xóa các bản ghi khóa ngoại, trước khi xóa bản ghi khóa chính. Hãy cố gắng xóa khoa học bộ phận.

Thí dụ

XÓA KHỎI DepartmentInfo WHERE DeptName = 'Nhạc' Lỗi: Ràng buộc NGOẠI KHÓA không thành công

Vì vậy, chúng ta cần xóa các bản ghi khóa ngoại trước khi xóa khóa chính.

XÓA KHỎI StudentInfo WHERE DEPARTMENTID = 4 sqlite> XÓA KHỎI DepartmentInfo WHERE DeptName = 'Music' sqlite> CHỌN * TỪ DepartmentInfo DeptID DeptName ------------- 1 Toán 2 Tâm lý 3 môn Thể thao CHỌN * TỪ SVInfo TÊN ID TUỔI ĐỊA CHỈ SỞ HỮU SỐ ĐIỆN THOẠI ---------- ---------- -------------- --- ------------ ---------- 1 Trưởng khoa 20 California 2 934 ******* 3 John 23 Na Uy 1 923 ****** * 4 Mitch 22 Houston 3 934 *******

Bây giờ bạn đã biết cách chỉnh sửa các bản ghi trong bảng Cơ sở dữ liệu SQLite. Tiến xa hơn trong blog hướng dẫn SQLite này, hãy thảo luận về các mệnh đề và điều kiện khác nhau mà bạn thường gặp trong SQLite.

Điều khoản / Điều kiện SQLite

Trước khi bắt đầu với các mệnh đề, đây là cú pháp hoàn chỉnh của câu lệnh SELECT trong SQLite.

Cú pháp

CHỌN [TẤT CẢ | DISTINCT] kết quả [FROM table-list] [WHERE expr] [GROUP BY expr-list] [HAVING expr] [compound-op select] * [ORDER BY sort-expr-list] [LIMIT integer [(OFFSET |,) integer ]]

Lưu ý: Mình đã cập nhật bảng StudentInfo và DepartmentInfo như hình bên dưới.

// Bảng sinh viên TÊN ID TUỔI ĐỊA CHỈ DEPARTMENTID ĐIỆN THOẠI ---------- ---------- ---------- ---------- ------------ ---------- 1 Dean 20 California 2 934 ******* 3 John 23 Na Uy 1 923 ******* 4 Mitch 22 Houston 3 934 ******* 2 SAM 22 Texas 4 976 ******* 5 Johny 23 Na Uy 2 945 ******* 6 Robin 23 Na Uy 2 UNKNOWN // Sở chi tiết DeptID DeptName - --------- ----------- 1 Toán 2 Tâm lý 3 Thể thao 4 Âm nhạc 5 Khoa học
  • SQLite WHERE

Trong SQLite, mệnh đề WHERE được sử dụng để áp đặt các hạn chế đối với câu lệnh SELECT bằng cách xác định một hoặc nhiều điều kiện để lấy dữ liệu cần thiết từ các bảng trong cơ sở dữ liệu.Nếu điều kiện được chỉ định thỏa mãn hoặc đúng, nó sẽ trả về giá trị cụ thể từ bảng. Như bạn đã thấy trước đây Mệnh đề WHERE không chỉ được sử dụng trong câu lệnh SELECT mà nó còn được sử dụng trong câu lệnh UPDATE, DELETE, v.v.

Thí dụ

jframe trong java là gì
CHỌN TÊN TỪ StudentInfo TRONG ĐÓ AGE = 23NAME ---------- John Johny Robin

Trong SQLite, có một số toán tử quan hệ có thể được sử dụng với mệnh đề WHERE.

  • NHÓM SQLite BỞI

Trong SQLite, mệnh đề GROUP BY được sử dụng để tổng hợp dữ liệu thành một hàng duy nhất trong đó giá trị của một hoặc nhiều cột được chỉ định được lặp lại. Mệnh đề này được sử dụng với mệnh đề WHERE trong câu lệnh SELECT và đặt trước mệnh đề ORDER BY.

Cú pháp

CHỌN kết quả TỪ [table-list] GROUP BY [expr-list]
CHỌN TÊN, ĐỊA CHỈ TỪ NHÓM StudentInfo THEO TÊN ĐỊA CHỈ TÊN ---------- ---------- Dean California John Na Uy Johny Na Uy Mitch Houston Robin Na Uy SAM Texas

Lưu ý rằng quá trình nhóm có hai bước. Đầu tiên, biểu thức GROUP BY được sử dụng để sắp xếp các hàng trong bảng thành các nhóm khác nhau. Sau khi các nhóm được xác định, câu lệnh SELECT xác định cách các nhóm đó được làm phẳng thành một hàng.

  • ĐẶT HÀNG SQLite BỞI

Nói chung, các bảng SQLite lưu trữ dữ liệu theo thứ tự không xác định và nó sẽ trả về các bản ghi theo cùng một thứ tự không xác định trong khi tìm nạp dữ liệu bằng câu lệnh SQLite select. Trong những trường hợp như vậy, bạn có thể sử dụng mệnh đề ORDER BY được sử dụng để sắp xếp các bản ghi cột theo thứ tự tăng dần hoặc giảm dần. Trong ví dụ dưới đây, tôi đã nhóm và sắp xếp theo thứ tự giảm dần9in) dữ liệu dựa trên địa chỉ.

Cú pháp

CHỌN biểu thức TỪ bảng-danh sách [Điều kiện WHERE] ĐẶT HÀNG THEO cột1, cột2, ... [ASC | DESC]

Thí dụ

CHỌN ĐỊA CHỈ, ĐẾM (ĐỊA CHỈ) TỪ NHÓM StudentInfo THEO ĐỊA CHỈ ĐẶT HÀNG THEO ĐỊA CHỈ MÔ TẢ ĐỊA CHỈ ĐẾM (ĐỊA CHỈ) ---------------- Texas 1 Na Uy 3 Houston 1 California 1
  • SQLite CÓ BỞI

Trong SQLite, ĐANG CÓ mệnh đề giống hệt với Ở ĐÂU mệnh đề. Mệnh đề HAVING là một điều kiện khác được áp dụng sau khi tổng hợp diễn ra cùng với câu lệnh group by in select. Nói chung trong SQLite, Ở ĐÂU mệnh đề được sử dụng để áp dụng một điều kiện cho các phần tử riêng lẻ trong một bảng vàcác ĐANG CÓ mệnh đề được sử dụng để thêm các điều kiện lọc dựa trên các nhóm được tạo bởi mệnh đề Group By.

Thí dụ

CHỌN ĐỊA CHỈ, ĐẾM (ĐỊA CHỈ) TỪ NHÓM StudentInfo THEO ĐỊA CHỈ CÓ ĐẾM (*)> 1 ĐẾM ĐỊA CHỈ (ADDRESS) -------------- Na Uy 3
  • Điều khoản giới hạn SQLite

Trong SQLite, mệnh đề LIMIT được sử dụng để đặt giới hạn cho các bản ghi được trả về bởi câu lệnh select. Hãy xem xét một ví dụ để hiểu khái niệm này.

Cú pháp

CHỌN biểu thức TỪ danh sách bảng [điều kiện WHERE] LIMIT number_rows OFFSET offset_value

Thí dụ

CHỌN TÊN, ĐỊA CHỈ TỪ StudentInfo GIỚI HẠN 4 OFFSET 2 ĐỊA CHỈ TÊN ---------- ---------- Mitch Houston SAM Texas Johny Na Uy Robin Na Uy

BÙ LẠIlà tùy chọn và nó xác định số hàng cần bỏ qua ở đầu tập kết quả dựa trên giá trị bù đắp .

  • SQLite VÀ & HOẶC

Trong SQLite, các toán tử VÀ & HOẶC được sử dụng để thực hiện nhiều điều kiện trên các câu lệnh chọn, chèn, cập nhật và xóa dựa trên yêu cầu của chúng tôi. Toán tử AND của SQLite sẽ trả về các hàng hoặc bản ghi thỏa mãn các điều kiện được xác định bằng cách sử dụng toán tử AND.

Ví dụ 1

CHỌN TÊN TỪ StudentInfo TRONG ĐÓ TUỔI = 22 VÀ ĐỊA CHỈ = TÊN 'Texas' ---------- SAM

Điều kiện OR được sử dụng để xác định nhiều điều kiện trong câu lệnh SQLite và nó sẽ trả về các hàng hoặc bản ghi từ câu lệnh nếu bất kỳ điều kiện nào trong một điều kiện được thỏa mãn.

Ví dụ2

CHỌN TÊN TỪ StudentInfo TẠI ĐÂU (TUỔI = 22 VÀ ĐỊA CHỈ = 'Na Uy') HOẶC ĐỊA CHỈ = TÊN 'Na Uy' ---------- John Johny Robin
  • Toán tử SQLite GLOB

Trong SQLite, toán tử GLOB được sử dụng để kiểm tra xem giá trị chuỗi đã cho có khớp với một mẫu cụ thể hay không. Trong trường hợp nếu giá trị chuỗi khớp với giá trị mẫu thì nó sẽ trả về thật và nó tương tự như toán tử LIKE. Ngoài ra, GLOB là trường hợp nhạy cảm.

Cú pháp

SELECT * FROM table_name WHERE column_name GLOB 'tìm kiếm-biểu thức'

Thí dụ

CHỌN * TỪ StudentInfo TÊN NƠI GLOB 'Joh *' TÊN ID TUỔI ĐỊA CHỈ SỞ HỮU SỐ ĐIỆN THOẠI ---------- ------------- ------- ------------ ---------- 3 John 23 Na Uy 1 923 ******* 5 Johny 23 Na Uy 2 945 ** *****
  • SQLite riêng biệt

Trong SQLite, từ khóa DISTINCT sẽ quét tập kết quả của câu lệnh SELECT và loại bỏ mọi hàng trùng lặp. Ngoài ra, các giá trị NULL được coi là bản sao vì vậy nếu chúng ta sử dụng mệnh đề DISTINCT với một cột có giá trị NULL thì nó sẽ chỉ giữ một hàng có giá trị NULL. Khi bạn áp dụng DISTINCT cho nhiều cột, thì câu lệnh trả về từng kết hợp duy nhất của coulnm1cột2.

Thí dụ

CHỌN TUỔI DISTINCT TỪ TUỔI StudentInfo ---------- 20 23 22
  • Toán tử SQLite IN

Trong SQLite, toán tử IN được sử dụng để xác định xem giá trị đã cho có khớp với danh sách các giá trị đã cho hoặc kết quả được trả về bởi truy vấn con hay không.

Thí dụ

CHỌN TÊN TỪ StudentInfo ĐỊA CHỈ Ở ĐÂU TẠI ('Texas', 'Houston') TÊN ---------- Mitch SAM
  • SQLite UNION & UNION ALL

Trong SQLite, toán tử UNION được sử dụng để kết hợp các tập kết quả của 2 hoặc nhiều câu lệnh SELECT và nó loại bỏ các hàng trùng lặp giữa các câu lệnh SELECT khác nhau. Hãy nhớ rằng các câu lệnh SELECT mà chúng ta đã sử dụng với toán tử UNION phải có cùng số trường trong tập kết quả có kiểu dữ liệu tương tự.

Cú pháp

CHỌN biểu thức1, biểu thức2, ... biểu thức_n FROM bảng [Điều kiện WHERE] UNION / UNION TẤT CẢ CHỌN biểu thức1, biểu thức2, ... biểu thức_n FROM bảng [Điều kiện WHERE]

Thí dụ

CHỌN DEPARTMENTID TỪ ĐOÀN VIÊN StudentInfo CHỌN KHOẢN LỆNH TỪ ĐƠN HÀNG DepartmentInfo BỞI DEPARTMENTID ASC DEPARTMENTID ------------ 1 2 3 4 5

Toán tử UNION ALL được sử dụng để kết hợp các tập kết quả của 2 hoặc nhiều câu lệnh SELECT và nó sẽ trả về tất cả các hàng bao gồm cả các bản sao.

Thí dụ

CHỌN DEPARTMENTID TỪ ĐOÀN KẾT StudentInfo TẤT CẢ CHỌN KHOẢN KHOẢN TỪ ĐƠN HÀNG CỦA DepartmentInfo THEO ĐƠN HÀNG CỦA DEPARTMENTID ASC DEPARTMENTID ------------ 1 1 2 2 2 2 3 3 4 4 5

Với điều này, chúng tôi đã trình bày các lệnh cơ bản nhất mà bạn có thể phải sử dụng khi làm việc với SQLite. Tiếp tục với hướng dẫn SQLite này, chúng ta hãy xem câu lệnh nối trong SQLite.

Tham gia SQLite

Trong SQLite, tham gia làđược sử dụng để kết hợp các bản ghi từ hai hoặc nhiều bảng trong cơ sở dữ liệu và lấy bản ghi dựa trên yêu cầu của chúng tôi. Dcác loại JOINS khác nhau có sẵn trong SQLite là:

  • Tham gia bên trong -INNER JOIN được sử dụng để kết hợp và chỉ trả về các bản ghi phù hợp từ nhiều bảng dựa trên các điều kiện được xác định trong câu lệnh SQLite.
  • Tham gia bên ngoài -SQLite Outer Join sẽ chọn các hàng phù hợp từ nhiều bảng giống như Tham gia bên trong và một số hàng khác bên ngoài mối quan hệ.Nói một cách dễ hiểu, chúng ta có thể nói SQLiteTHAM GIA NGOÀI TRỜIlà một sự bổ sung củaTHAM GIA INNER . Nói chung, chúng ta có ba loại Outer Joins trong tiêu chuẩn SQL đó là LEFT, RIGHT và FULL Outer Joins nhưng SQLite chỉ hỗ trợ LEFT OUTER JOIN.
  • Tham gia chéo -Nó được sử dụng để lấy tích số Descartes của các hàngbằng cách so khớp từng hàng của bảng đầu tiên với mọi hàng của bảng thứ hai.
  • Tự tham gia - Nóđược sử dụng để tham gia cùng một bảng với chính nó. Để sử dụng Self Join, chúng ta cần tạo các tên bí danh khác nhau cho cùng một bảng để thực hiện các thao tác dựa trên yêu cầu của chúng ta.

Khái niệm này tương tự như khái niệm của các hệ thống cơ sở dữ liệu quan hệ khác như SQL. Vì vậy, để biết thêm bạn có thể tham khảo bài viết này trên .

Với điều này, chúng ta đã trình bày các lệnh SQLite cơ bản. Các khái niệm nâng cao không được đề cập ở đây. Vì vậy, hãy theo dõi bài viết khác về các khái niệm SQLite nâng cao. Ngay cả với tất cả các tính năng tốt mà SQLite cung cấp, nó cũng có những nhược điểm nhất định.

Hướng dẫn SQLite: Nhược điểm của SQLite

Liệt kê dưới đây là những điểm kém của việc sử dụng SQLite:

  • Nó không hoạt động tốt trong Kiến trúc máy khách / máy chủ.
  • Kích thước cơ sở dữ liệu SQLite được giới hạn ở 2GB trong hầu hết các trường hợp.
  • SQLite chưa triển khai RIGHT OUTER JOIN và FULL OUTER JOIN. Với SQLite, chúng ta chỉ có thể triển khai LEFT OUTER JOIN.
  • Chế độ xem trong SQLite là chỉ đọc. Chúng tôi không thể sử dụng các câu lệnh DML (Chèn, Cập nhật và Xóa) với Chế độ xem.
  • Chúng ta không thể sử dụng các câu lệnh GRANT và REVOKE với SQLite.

Với điều này, chúng ta sẽ kết thúc Hướng dẫn SQLite này.

Nếu bạn muốn tìm hiểu thêm về MySQL và tìm hiểu cơ sở dữ liệu quan hệ mã nguồn mở này, sau đó xem đi kèm với đào tạo trực tiếp do người hướng dẫn và trải nghiệm dự án thực tế. Khóa đào tạo này sẽ giúp bạn hiểu sâu về MySQL và giúp bạn thành thạo chủ đề này.

Có một câu hỏi cho chúng tôi? Vui lòng đề cập đến nó trong phần nhận xét của Hướng dẫn SQLite này và tôi sẽ liên hệ lại với bạn.