SQLite - ไวยากรณ์
SQLite ตามด้วยชุดกฎและแนวทางเฉพาะที่เรียกว่า Syntax บทนี้แสดงรายการไวยากรณ์ SQLite พื้นฐานทั้งหมด
ความไวกรณี
จุดสำคัญที่ต้องสังเกตคือ SQLite คือ case insensitiveกล่าวคือประโยค GLOB และ glob มีความหมายเหมือนกันในคำสั่ง SQLite
ความคิดเห็น
ความคิดเห็น SQLite เป็นบันทึกพิเศษซึ่งคุณสามารถเพิ่มในโค้ด SQLite ของคุณเพื่อเพิ่มความสามารถในการอ่านและสามารถปรากฏได้ทุกที่ ช่องว่างสามารถเกิดขึ้นได้รวมถึงนิพจน์ภายในและอยู่ตรงกลางของคำสั่ง SQL อื่น ๆ แต่ไม่สามารถซ้อนกันได้
ความคิดเห็น SQL เริ่มต้นด้วยอักขระ "-" สองตัวที่ต่อเนื่องกัน (ASCII 0x2d) และขยายไปจนถึงและรวมถึงอักขระขึ้นบรรทัดใหม่ถัดไป (ASCII 0x0a) หรือจนกว่าจะสิ้นสุดการป้อนข้อมูลแล้วแต่ว่ากรณีใดจะเกิดขึ้นก่อน
คุณยังสามารถใช้ความคิดเห็นรูปแบบ C ซึ่งขึ้นต้นด้วย "/ *" และขยายไปจนถึงและรวมคู่อักขระ "* /" ถัดไปหรือจนกว่าจะสิ้นสุดการป้อนข้อมูลแล้วแต่ว่ากรณีใดจะเกิดขึ้นก่อน ความคิดเห็นรูปแบบ C สามารถครอบคลุมได้หลายบรรทัด
sqlite> .help -- This is a single line comment
คำสั่ง SQLite
คำสั่ง SQLite ทั้งหมดเริ่มต้นด้วยคำสำคัญใด ๆ เช่น SELECT, INSERT, UPDATE, DELETE, ALTER, DROP เป็นต้นและคำสั่งทั้งหมดจะลงท้ายด้วยอัฒภาค (;)
คำสั่ง SQLite ANALYZE
ANALYZE;
or
ANALYZE database_name;
or
ANALYZE database_name.table_name;
SQLite AND / OR Clause
SELECT column1, column2....columnN
FROM table_name
WHERE CONDITION-1 {AND|OR} CONDITION-2;
คำสั่ง SQLite ALTER TABLE
ALTER TABLE table_name ADD COLUMN column_def...;
คำสั่ง SQLite ALTER TABLE (เปลี่ยนชื่อ)
ALTER TABLE table_name RENAME TO new_table_name;
คำสั่ง SQLite ATTACH DATABASE
ATTACH DATABASE 'DatabaseName' As 'Alias-Name';
คำสั่ง SQLite BEGIN TRANSACTION
BEGIN;
or
BEGIN EXCLUSIVE TRANSACTION;
SQLite ระหว่างข้อ
SELECT column1, column2....columnN
FROM table_name
WHERE column_name BETWEEN val-1 AND val-2;
คำสั่ง SQLite COMMIT
COMMIT;
SQLite สร้างคำสั่ง INDEX
CREATE INDEX index_name
ON table_name ( column_name COLLATE NOCASE );
SQLite สร้างงบดัชนีที่ไม่ซ้ำกัน
CREATE UNIQUE INDEX index_name
ON table_name ( column1, column2,...columnN);
คำสั่งสร้างตาราง SQLite
CREATE TABLE table_name(
column1 datatype,
column2 datatype,
column3 datatype,
.....
columnN datatype,
PRIMARY KEY( one or more columns )
);
SQLite สร้างคำสั่ง TRIGGER
CREATE TRIGGER database_name.trigger_name
BEFORE INSERT ON table_name FOR EACH ROW
BEGIN
stmt1;
stmt2;
....
END;
SQLite สร้างคำสั่ง VIEW
CREATE VIEW database_name.view_name AS
SELECT statement....;
SQLite สร้างคำสั่ง VIRTUAL TABLE
CREATE VIRTUAL TABLE database_name.table_name USING weblog( access.log );
or
CREATE VIRTUAL TABLE database_name.table_name USING fts3( );
คำสั่ง SQLite COMMIT TRANSACTION
COMMIT;
SQLite COUNT Clause
SELECT COUNT(column_name)
FROM table_name
WHERE CONDITION;
คำสั่ง SQLite DELETE
DELETE FROM table_name
WHERE {CONDITION};
คำสั่ง SQLite DETACH DATABASE
DETACH DATABASE 'Alias-Name';
SQLite DISTINCT Clause
SELECT DISTINCT column1, column2....columnN
FROM table_name;
คำสั่ง SQLite DROP INDEX
DROP INDEX database_name.index_name;
คำสั่ง SQLite DROP TABLE
DROP TABLE database_name.table_name;
คำสั่ง SQLite DROP VIEW
DROP INDEX database_name.view_name;
คำสั่ง SQLite DROP TRIGGER
DROP INDEX database_name.trigger_name;
SQLite EXISTS Clause
SELECT column1, column2....columnN
FROM table_name
WHERE column_name EXISTS (SELECT * FROM table_name );
คำสั่ง SQLite EXPLAIN
EXPLAIN INSERT statement...;
or
EXPLAIN QUERY PLAN SELECT statement...;
ข้อ SQLite GLOB
SELECT column1, column2....columnN
FROM table_name
WHERE column_name GLOB { PATTERN };
SQLite GROUP ตามข้อ
SELECT SUM(column_name)
FROM table_name
WHERE CONDITION
GROUP BY column_name;
SQLite HAVING Clause
SELECT SUM(column_name)
FROM table_name
WHERE CONDITION
GROUP BY column_name
HAVING (arithematic function condition);
คำสั่ง SQLite INSERT INTO
INSERT INTO table_name( column1, column2....columnN)
VALUES ( value1, value2....valueN);
SQLite ในข้อ
SELECT column1, column2....columnN
FROM table_name
WHERE column_name IN (val-1, val-2,...val-N);
SQLite Like Clause
SELECT column1, column2....columnN
FROM table_name
WHERE column_name LIKE { PATTERN };
SQLite ไม่อยู่ในข้อ
SELECT column1, column2....columnN
FROM table_name
WHERE column_name NOT IN (val-1, val-2,...val-N);
SQLite ORDER ตามข้อ
SELECT column1, column2....columnN
FROM table_name
WHERE CONDITION
ORDER BY column_name {ASC|DESC};
คำสั่ง SQLite PRAGMA
PRAGMA pragma_name;
For example:
PRAGMA page_size;
PRAGMA cache_size = 1024;
PRAGMA table_info(table_name);
คำสั่ง SQLite RELEASE SAVEPOINT
RELEASE savepoint_name;
คำสั่ง SQLite REINDEX
REINDEX collation_name;
REINDEX database_name.index_name;
REINDEX database_name.table_name;
คำสั่ง SQLite ROLLBACK
ROLLBACK;
or
ROLLBACK TO SAVEPOINT savepoint_name;
คำสั่ง SQLite SAVEPOINT
SAVEPOINT savepoint_name;
คำสั่ง SQLite SELECT
SELECT column1, column2....columnN
FROM table_name;
คำสั่ง SQLite UPDATE
UPDATE table_name
SET column1 = value1, column2 = value2....columnN=valueN
[ WHERE CONDITION ];
คำสั่ง SQLite VACUUM
VACUUM;
SQLite WHERE Clause
SELECT column1, column2....columnN
FROM table_name
WHERE CONDITION;