SQLite - Cú pháp
SQLite được theo sau bởi một bộ quy tắc và hướng dẫn duy nhất được gọi là Cú pháp. Chương này liệt kê tất cả các Cú pháp SQLite cơ bản.
Phân biệt chữ hoa chữ thường
Điểm quan trọng cần lưu ý là SQLite là case insensitive, tức là các mệnh đề GLOB và glob có cùng ý nghĩa trong các câu lệnh SQLite.
Bình luận
Nhận xét 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 của nó 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.
Nhận xét SQL bắt đầu bằng hai ký tự "-" liên tiếp (ASCII 0x2d) và mở rộng đến và bao gồm ký tự dòng mới tiếp theo (ASCII 0x0a) hoặc cho đến khi kết thúc đầu vào, tùy điều kiện nào đến trước.
Bạn cũng có thể sử dụng chú thích kiểu C, bắt đầu bằng "/ *" và mở rộng đến và bao gồm cả cặp ký tự "* /" tiếp theo hoặc cho đến khi kết thúc đầu vào, tùy điều kiện nào đến trước. Nhận xét kiểu C có thể kéo dài nhiều dòng.
sqlite> .help -- This is a single line comment
Câu lệnh SQLite
Tất cả các câu lệnh SQLite bắt đầu bằng 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 SQLite ANALYZE
ANALYZE;
or
ANALYZE database_name;
or
ANALYZE database_name.table_name;
Mệnh đề AND / OR của SQLite
SELECT column1, column2....columnN
FROM table_name
WHERE CONDITION-1 {AND|OR} CONDITION-2;
Câu lệnh SQLite ALTER TABLE
ALTER TABLE table_name ADD COLUMN column_def...;
Câu lệnh SQLite ALTER TABLE (Đổi tên)
ALTER TABLE table_name RENAME TO new_table_name;
Câu lệnh SQLite ATTACH DATABASE
ATTACH DATABASE 'DatabaseName' As 'Alias-Name';
Câu lệnh GIAO DỊCH BEGIN SQLite
BEGIN;
or
BEGIN EXCLUSIVE TRANSACTION;
SQLite BETWEEN mệnh đề
SELECT column1, column2....columnN
FROM table_name
WHERE column_name BETWEEN val-1 AND val-2;
Tuyên bố CAM KẾT của SQLite
COMMIT;
Câu lệnh SQLite CREATE INDEX
CREATE INDEX index_name
ON table_name ( column_name COLLATE NOCASE );
SQLite TẠO Tuyên bố CHỈ SỐ DUY NHẤT
CREATE UNIQUE INDEX index_name
ON table_name ( column1, column2,...columnN);
Câu lệnh SQLite CREATE TABLE
CREATE TABLE table_name(
column1 datatype,
column2 datatype,
column3 datatype,
.....
columnN datatype,
PRIMARY KEY( one or more columns )
);
Câu lệnh SQLite CREATE TRIGGER
CREATE TRIGGER database_name.trigger_name
BEFORE INSERT ON table_name FOR EACH ROW
BEGIN
stmt1;
stmt2;
....
END;
Câu lệnh SQLite CREATE VIEW
CREATE VIEW database_name.view_name AS
SELECT statement....;
Câu lệnh SQLite CREATE VIRTUAL TABLE
CREATE VIRTUAL TABLE database_name.table_name USING weblog( access.log );
or
CREATE VIRTUAL TABLE database_name.table_name USING fts3( );
Tuyên bố GIAO DỊCH CAM KẾT của SQLite
COMMIT;
Mệnh đề COUNT trong SQLite
SELECT COUNT(column_name)
FROM table_name
WHERE CONDITION;
Câu lệnh SQLite DELETE
DELETE FROM table_name
WHERE {CONDITION};
Câu lệnh CƠ SỞ DỮ LIỆU SQLite
DETACH DATABASE 'Alias-Name';
Mệnh đề DISTINCT của SQLite
SELECT DISTINCT column1, column2....columnN
FROM table_name;
Câu lệnh SQLite DROP INDEX
DROP INDEX database_name.index_name;
Câu lệnh SQLite DROP TABLE
DROP TABLE database_name.table_name;
Câu lệnh SQLite DROP VIEW
DROP INDEX database_name.view_name;
Câu lệnh SQLite DROP TRIGGER
DROP INDEX database_name.trigger_name;
Mệnh đề SQLite EXISTS
SELECT column1, column2....columnN
FROM table_name
WHERE column_name EXISTS (SELECT * FROM table_name );
Câu lệnh SQLite EXPLAIN
EXPLAIN INSERT statement...;
or
EXPLAIN QUERY PLAN SELECT statement...;
Mệnh đề GLOB của SQLite
SELECT column1, column2....columnN
FROM table_name
WHERE column_name GLOB { PATTERN };
Mệnh đề GROUP BY trong SQLite
SELECT SUM(column_name)
FROM table_name
WHERE CONDITION
GROUP BY column_name;
Mệnh đề HAVING của SQLite
SELECT SUM(column_name)
FROM table_name
WHERE CONDITION
GROUP BY column_name
HAVING (arithematic function condition);
SQLite INSERT INTO Statement
INSERT INTO table_name( column1, column2....columnN)
VALUES ( value1, value2....valueN);
Mệnh đề SQLite IN
SELECT column1, column2....columnN
FROM table_name
WHERE column_name IN (val-1, val-2,...val-N);
Mệnh đề giống SQLite
SELECT column1, column2....columnN
FROM table_name
WHERE column_name LIKE { PATTERN };
Mệnh đề KHÔNG TRONG SQLite
SELECT column1, column2....columnN
FROM table_name
WHERE column_name NOT IN (val-1, val-2,...val-N);
Mệnh đề ORDER BY trong SQLite
SELECT column1, column2....columnN
FROM table_name
WHERE CONDITION
ORDER BY column_name {ASC|DESC};
Câu lệnh SQLite PRAGMA
PRAGMA pragma_name;
For example:
PRAGMA page_size;
PRAGMA cache_size = 1024;
PRAGMA table_info(table_name);
Câu lệnh SQLite RELEASE SAVEPOINT
RELEASE savepoint_name;
Câu lệnh SQLite REINDEX
REINDEX collation_name;
REINDEX database_name.index_name;
REINDEX database_name.table_name;
Câu lệnh SQLite ROLLBACK
ROLLBACK;
or
ROLLBACK TO SAVEPOINT savepoint_name;
Câu lệnh SQLite SAVEPOINT
SAVEPOINT savepoint_name;
Câu lệnh SQLite SELECT
SELECT column1, column2....columnN
FROM table_name;
Câu lệnh CẬP NHẬT SQLite
UPDATE table_name
SET column1 = value1, column2 = value2....columnN=valueN
[ WHERE CONDITION ];
Câu lệnh SQLite VACUUM
VACUUM;
Mệnh đề WHERE trong SQLite
SELECT column1, column2....columnN
FROM table_name
WHERE CONDITION;