SQLite語法大全
語法是一組獨特的規則和約定。 以下是SQLite的語法列表。
區分大小寫:
- SQLite不區分大小寫。但是,有一些區分大小寫的命令。例如:
GLOB
和glob
在SQLite語句中有不同的含義。
註釋:
- 註釋用於在SQLite代碼中增加代碼的可讀性。
- 註釋不能嵌套。
- 註釋以兩個連續的「
-
」字符。 - 也可使用「
/*
」字符開始,並延伸至下一個「*/
」字符對所包括的內容視爲註釋。
SQLite語句
所有的SQLite語句都是以關鍵字(如:SELECT
,INSERT
,UPDATE
,DELETE
,ALTER
,DROP
等)開始的。所有語句都以分號(;
)結尾。
SQLite ANALYZE語句的語法:
ANALYZE;
-- or
ANALYZE database_name;
-- or
ANALYZE database_name.table_name;
SQLite AND/OR子句的語法:
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語句(Rename)語句的語法
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 BETWEEN語句的語法:
SELECT column1, column2....columnN
FROM table_name
WHERE column_name BETWEEN val-1 AND val-2;
SQLite COMMIT Statement:
COMMIT;
SQLite CREATE INDEX語句的語法:
CREATE INDEX index_name
ON table_name ( column_name COLLATE NOCASE );
SQLite CREATE UNIQUE INDEX語句的語法:
CREATE UNIQUE INDEX index_name
ON table_name ( column1, column2,...columnN);
SQLite CREATE TABLE語句的語法:
CREATE TABLE table_name(
column1 datatype,
column2 datatype,
column3 datatype,
.....
columnN datatype,
PRIMARY KEY( one or more columns ));
SQLite CREATE TRIGGER語句的語法:
CREATE TRIGGER database_name.trigger_name
BEFORE INSERT ON table_name FOR EACH ROW
BEGIN
stmt1;
stmt2;
....
END;
SQLite CREATE VIEW語句的語法:
CREATE VIEW database_name.view_name AS
SELECT statement....;
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( );
SQLite COMMIT TRANSACTION語句的語法:
COMMIT;
SQLite COUNT語句的語法:
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語句的語法:
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語句的語法:
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 BY語句的語法:
SELECT SUM(column_name)
FROM table_name
WHERE CONDITION
GROUP BY column_name;
SQLite HAVING語句的語法:
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 IN語句的語法:
SELECT column1, column2....columnN
FROM table_name
WHERE column_name IN (val-1, val-2,...val-N);
SQLite Like語句的語法:
SELECT column1, column2....columnN
FROM table_name
WHERE column_name LIKE { PATTERN };
SQLite NOT IN語句的語法:
SELECT column1, column2....columnN
FROM table_name
WHERE column_name NOT IN (val-1, val-2,...val-N);
SQLite ORDER BY語句的語法:
SELECT column1, column2....columnN
FROM table_name
WHERE CONDITION
ORDER BY column_name {ASC|DESC};
SQLite PRAGMA語句的語法:
PRAGMA pragma_name;
有關pragma
的幾個示例:
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;