SQLite đi kèm với tập hợp các qui tắc và guideline duy nhất được gọi là Cú pháp. Chương này sẽ cho bạn cái nhìn tổng quan về SQLite qua việc liệt kê cho bạn tất cả cú pháp cơ bản của SQLite.
Điều quan trọng bạn cần ghi nhớ về SQLite là không phân biệt kiểu chữ. Nhưng có một số lệnh là phân biệt kiểu chữ, ví dụ: GLOB và glob có ý nghĩa khác nhau trong các lệnh SQLite.
Bạn có thể thêm Comment trong SQLite code để tăng cao khả năng đọc cho code và chúng có thể xuất hiện ở bất cứ đâu; whitespace có thể xuất hiện, bao gồm bên trong các biểu thức và ở giữa các lệnh SQL khác nhưng chúng không thể lồng nhau.
Comment trong SQLite bắt đầu với hai ký tự dấu gạch nối "-" (ASCII 0x2d) và kéo dài tới và bao gồm ký tự newline (dòng mới) (ASCII 0x0a) hoặc tới phần cuối của input, bất cứ cái gì được nhập vào đầu tiên.
Bạn cũng có thể sử dụng C-style comment, bắt đầu với "/*" và kéo dài tới và bao gồm ký tự "*/" hoặc tới phần cuối của input, bất cứ cái gì được nhập vào đầu tiên. C-style comment có thể trải rộng nhiều dòng.
sqlite>.help -- This is a single line comment
Tất cả các lệnh SQLite bắt đầu với bất kỳ từ khóa nào như SELECT, INSERT, UPDATE, DELETE, ALTER, DROP, … và tất cả các lệnh kết thúc với một dấu chấm phảy (;).
ANALYZE;
or
ANALYZE database_name;
or
ANALYZE database_name.table_name;
SELECT column1, column2....columnN
FROM table_name
WHERE CONDITION-1 {AND|OR} CONDITION-2;
ALTER TABLE table_name ADD COLUMN column_def...;
ALTER TABLE table_name RENAME TO new_table_name;
ATTACH DATABASE 'DatabaseName' As 'Alias-Name';
BEGIN;
or
BEGIN EXCLUSIVE TRANSACTION;
SELECT column1, column2....columnN
FROM table_name
WHERE column_name BETWEEN val-1 AND val-2;
COMMIT;
CREATE INDEX index_name
ON table_name ( column_name COLLATE NOCASE );
CREATE UNIQUE INDEX index_name
ON table_name ( column1, column2,...columnN);
CREATE TABLE table_name(
column1 datatype,
column2 datatype,
column3 datatype,
.....
columnN datatype,
PRIMARY KEY( one or more columns )
);
CREATE TRIGGER database_name.trigger_name
BEFORE INSERT ON table_name FOR EACH ROW
BEGIN
stmt1;
stmt2;
....
END;
CREATE VIEW database_name.view_name AS
SELECT statement....;
CREATE VIRTUAL TABLE database_name.table_name USING weblog( access.log );
or
CREATE VIRTUAL TABLE database_name.table_name USING fts3( );
COMMIT;
SELECT COUNT(column_name)
FROM table_name
WHERE CONDITION;
DELETE FROM table_name
WHERE {CONDITION};
DETACH DATABASE 'Alias-Name';
SELECT DISTINCT column1, column2....columnN
FROM table_name;
DROP INDEX database_name.index_name;
DROP TABLE database_name.table_name;
DROP INDEX database_name.view_name;
DROP INDEX database_name.trigger_name;
SELECT column1, column2....columnN
FROM table_name
WHERE column_name EXISTS (SELECT * FROM table_name );
EXPLAIN INSERT statement...;
or
EXPLAIN QUERY PLAN SELECT statement...;
SELECT column1, column2....columnN
FROM table_name
WHERE column_name GLOB { PATTERN };
SELECT SUM(column_name)
FROM table_name
WHERE CONDITION
GROUP BY column_name;
SELECT SUM(column_name)
FROM table_name
WHERE CONDITION
GROUP BY column_name
HAVING (arithematic function condition);
INSERT INTO table_name( column1, column2....columnN)
VALUES ( value1, value2....valueN);
SELECT column1, column2....columnN
FROM table_name
WHERE column_name IN (val-1, val-2,...val-N);
SELECT column1, column2....columnN
FROM table_name
WHERE column_name LIKE { PATTERN };
SELECT column1, column2....columnN
FROM table_name
WHERE column_name NOT IN (val-1, val-2,...val-N);
SELECT column1, column2....columnN
FROM table_name
WHERE CONDITION
ORDER BY column_name {ASC|DESC};
PRAGMA pragma_name;
For example:
PRAGMA page_size;
PRAGMA cache_size = 1024;
PRAGMA table_info(table_name);
RELEASE savepoint_name;
REINDEX collation_name;
REINDEX database_name.index_name;
REINDEX database_name.table_name;
Lệnh ROLLBACK trong SQLite
ROLLBACK;
or
ROLLBACK TO SAVEPOINT savepoint_name;
SAVEPOINT savepoint_name;
SELECT column1, column2....columnN
FROM table_name;
UPDATE table_name
SET column1 = value1, column2 = value2....columnN=valueN
[ WHERE CONDITION ];
VACUUM;
SELECT column1, column2....columnN
FROM table_name
WHERE CONDITION;
Unpublished comment
Viết câu trả lời