SQLite
được theo sau bởi bộ quy tắc và hướng dẫn duy nhất được gọi là cú pháp (syntax). Trong bài này mình sẽ cùng tìm hiểu về cú pháp trong SQLite
.
1. Không phân biệt chữ hoa chữ thường
Điểm quan trọng cần lưu ý đó là SQLite
không phân biệt chữ hoa chữ thường, nhưng có một số lệnh, phân biệt chữ hoa chữ thường như GLOB
và glob
có ý nghĩa khác nhau trong các câu lệnh SQLite
.
2. Comment trong SQLite
Comment trong SQLite
là ghi chú bổ sung, bạn có thể thêm vào mã SQLite
của mình để tăng khả năng đọc và chúng có thể xuất hiện ở bất cứ đâu. Khoảng trắng có thể xảy ra, bao gồm các biểu thức bên trong và ở giữa các câu lệnh SQL
khác nhưng chúng không thể được lồng vào nhau.
Comment trong SQLite
bắt đầu bằng hai ký tự “-” liên tiếp (ASCII 0x2d) và mở rộng tiếp tục và bao gồm ký tự dòng mới (newline) tiếp theo (ASCII 0x0a) hoặc cho đến khi kết thúc đầu vào, tùy theo điều kiện nào đến trước.
Bạn cũng có thể sử dụng comment trong C, bắt đầu bằng “/*” và mở rộng đến tiếp tục và bao gồm cặp ký tự “*/” tiếp theo hoặc cho đến khi kết thúc đầu vào, tùy theo điều kiện nào đến trước. Comment trong C có thể trải dài trên nhiều dòng.
1
|
sqlite> .help -- đay la cau lenh comment |
3. Các câu lệnh trong SQLite
Tất cả các câu lệnh trong SQLite
bắt đầu với bất kỳ từ khóa nào như SELECT
, INSERT
, UPDATE
, DELETE
, ALTER
, DROP
, v.v. và tất cả các câu lệnh kết thúc bằng dấu chấm phẩy (;).
Câu lệnh ANALYZE trong SQLite
1
2
3
4
5
|
ANALYZE; or ANALYZE database_name; or ANALYZE database_name.table_name; |
Mênh đề AND/OR trong SQLite
1
2
3
|
SELECT column1, column2....columnN FROM table_name WHERE CONDITION-1 { AND | OR } CONDITION-2; |
Câu lệnh ALTER trong SQLite
1
|
ALTER TABLE table_name ADD COLUMN column_def...; |
Câu lệnh ALTER TABLE trong SQLite
1
|
ALTER TABLE table_name ADD COLUMN column_def...; |
Câu lệnh ATTACH DATABASE trong SQLite
1
|
ATTACH DATABASE 'DatabaseName' As 'Alias-Name' ; |
Câu lệnh BEGIN TRANSACTION trong SQLite
1
2
3
|
BEGIN ; or BEGIN EXCLUSIVE TRANSACTION ; |
Câu lệnh BETWEEN trong SQLite
1
2
3
|
SELECT column1, column2....columnN FROM table_name WHERE column_name BETWEEN val-1 AND val-2; |
Câu lệnh COMMIT trong SQLite
1
|
COMMIT ; |
Câu lệnh CREATE INDEX trong SQLite
1
2
|
CREATE INDEX index_name ON table_name ( column_name COLLATE NOCASE ); |
Câu lệnh CREATE UNIQUE INDEX trong SQLite
1
2
|
CREATE UNIQUE INDEX index_name ON table_name ( column1, column2,...columnN); |
Câu lệnh CREATE TABLE trong SQLite
1
2
3
4
5
6
7
8
|
CREATE TABLE table_name( column1 datatype, column2 datatype, column3 datatype, ..... columnN datatype, PRIMARY KEY ( one or more columns ) ); |
Câu lệnh CREATE TRIGGER trong SQLite
1
2
3
4
5
6
7
|
CREATE TRIGGER database_name.trigger_name BEFORE INSERT ON table_name FOR EACH ROW BEGIN stmt1; stmt2; .... END ; |
Câu lệnh CREATE VIEW trong SQLite
1
2
|
CREATE VIEW database_name.view_name AS SELECT statement....; |
Câu lệnh CREATE VIRTUAL TABLE trong SQLite
1
2
3
|
CREATE VIRTUAL TABLE database_name.table_name USING weblog( access.log ); or CREATE VIRTUAL TABLE database_name.table_name USING fts3( ); |
Câu lệnh COMMIT TRANSACTION trong SQLite
1
|
COMMIT ; |
Câu lệnh COUNT trong SQLite
1
2
3
|
SELECT COUNT (column_name) FROM table_name WHERE CONDITION; |
Câu lệnh DELETE trong SQLite
1
2
|
DELETE FROM table_name WHERE {CONDITION}; |
Câu lệnh DETACH DATABASE trong SQLite
1
|
DETACH DATABASE 'Alias-Name' ; |
Mệnh đề DISTINCT trong SQLite
1
2
|
SELECT DISTINCT column1, column2....columnN FROM table_name; |
Câu lệnh DROP INDEX trong SQLite
1
|
DROP INDEX database_name.index_name; |
Câu lệnh DROP TABLE trong SQLite
1
|
DROP TABLE database_name.table_name; |
Câu lệnh DROP VIEW trong SQLite
1
|
DROP INDEX database_name.view_name; |
Câu lệnh DROP TRIGGER trong SQLite
1
|
DROP INDEX database_name.trigger_name; |
Mệnh đề EXISTS trong SQLite
1
2
3
|
SELECT column1, column2....columnN FROM table_name WHERE column_name EXISTS ( SELECT * FROM table_name ); |
Câu lệnh EXPLAIN trong SQLite
1
2
3
|
EXPLAIN INSERT statement...; or EXPLAIN QUERY PLAN SELECT statement...; |
Mệnh đề GLOB trong SQLite
1
2
3
|
SELECT column1, column2....columnN FROM table_name WHERE column_name GLOB { PATTERN }; |
Mệnh đề GROUP BY trong SQLite
1
2
3
4
|
SELECT SUM (column_name) FROM table_name WHERE CONDITION GROUP BY column_name; |
Mệnh đề HAVING trong SQLite
1
2
3
4
5
|
SELECT SUM (column_name) FROM table_name WHERE CONDITION GROUP BY column_name HAVING (arithematic function condition); |
Câu lệnh INSERT INTO trong SQLite
1
2
|
INSERT INTO table_name( column1, column2....columnN) VALUES ( value1, value2....valueN); |
Mệnh đề IN trong SQLite
1
2
3
|
SELECT column1, column2....columnN FROM table_name WHERE column_name IN (val-1, val-2,...val-N); |
Mệnh đề LIKE trong SQLite
1
2
3
|
SELECT column1, column2....columnN FROM table_name WHERE column_name LIKE { PATTERN }; |
Mệnh đề NOT IN trong SQLite
1
2
3
|
SELECT column1, column2....columnN FROM table_name WHERE column_name NOT IN (val-1, val-2,...val-N); |
Mệnh đề ORDER BY trong SQLite
1
2
3
4
|
SELECT column1, column2....columnN FROM table_name WHERE CONDITION ORDER BY column_name { ASC | DESC }; |
Câu lệnh PRAGMA trong SQLite
1
2
3
4
5
6
7
|
PRAGMA pragma_name; For example: PRAGMA page_size; PRAGMA cache_size = 1024; PRAGMA table_info(table_name); |
Câu lệnh RELEASE SAVEPOINT trong SQLite
1
|
RELEASE savepoint_name; |
Câu lệnh REINDEX trong SQLite
1
2
3
|
REINDEX collation_name; REINDEX database_name.index_name; REINDEX database_name.table_name; |
Câu lệnh ROLLBACK trong SQLite
1
2
3
|
ROLLBACK ; or ROLLBACK TO SAVEPOINT savepoint_name; |
Câu lệnh SAVEPOINT trong SQLite
1
|
SAVEPOINT savepoint_name; |
Câu lệnh SELECT trong SQLite
1
2
|
SELECT column1, column2....columnN FROM table_name; |
Câu lệnh UPDATE trong SQLite
1
2
3
|
UPDATE table_name SET column1 = value1, column2 = value2....columnN=valueN [ WHERE CONDITION ]; |
Câu lệnh VACUUM trong SQLite
1
|
VACUUM; |
Mệnh đề WHERE trong SQLite
1
2
3
|
SELECT column1, column2....columnN FROM table_name WHERE CONDITION; |
——————-#####——————-
Loạt bài SQLite được biên dịch từ TutorialsPoint.
Nguồn:https://freetuts.net