1.5. SQLite syntax

发布时间 : 2025-10-25 13:32:42 UTC      

Page Views: 9 views

SQLite follows a unique set of rules and guidelines called grammar. This tutorial lists all the basic SQLite syntax and provides you with a quick start to SQLite.

1.5.1. Case sensitivity

There is an important point to note that SQLite is 不区分大小写 , but there are also some commands that are case sensitive, such as GLOB And glob There are different meanings in the sentence of SQLite.

1.5.2. Annotation

SQLite comments are additional comments that can be added to your SQLite code to increase their readability, and they can appear in any space, including within an expression and in the middle of other SQL statements, but they cannot be nested.

SQL comments begin with two consecutive “-” characters (ASCII 0x2d) and extend to the next newline character (ASCII 0x0a) or until the end of the input, whichever comes first.

You can also use C-style comments to “/” “ 开始,并扩展至下一个 “ / “character pairs or until the end of the input, whichever comes first. Comments for SQLite can span multiple lines.

sqlite>.help -- 这是一个简单的注释 

1.5.3. SQLite statement

All SQLite statements can start with any keyword, such as SELECT, INSERT, UPDATE, DELETE, ALTER, DROP, etc., and all statements end with a semicolon.

SQLite ANALYZE statement:

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 statement:

ALTER TABLE table_name ADD COLUMN column_def...; 

SQLite ALTER TABLE statement (Rename):

ALTER TABLE table_name RENAME TO new_table_name; 

SQLite ATTACH DATABASE statement:

ATTACH DATABASE 'DatabaseName' As 'Alias-Name'; 

SQLite BEGIN TRANSACTION statement:

BEGIN; or BEGIN EXCLUSIVE TRANSACTION; 

SQLite BETWEEN clause:

SELECT column1, column2....columnN FROM table_name WHERE column_name BETWEEN val-1 AND val-2; 

SQLite COMMIT statement:

COMMIT; 

SQLite CREATE INDEX statement:

CREATE INDEX index_name ON table_name ( column_name COLLATE NOCASE ); 

SQLite CREATE UNIQUE INDEX statement:

CREATE UNIQUE INDEX index_name ON table_name ( column1, column2,...columnN); 

SQLite CREATE TABLE statement:

CREATE TABLE table_name( column1 datatype, column2 datatype, column3 datatype, ..... columnN datatype, PRIMARY KEY( one or more columns ) ); 

SQLite CREATE TRIGGER statement:

CREATE TRIGGER database_name.trigger_name BEFORE INSERT ON table_name FOR EACH ROW BEGIN stmt1; stmt2; .... END; 

SQLite CREATE VIEW statement:

CREATE VIEW database_name.view_name AS SELECT statement....; 

SQLite CREATE VIRTUAL TABLE statement:

CREATE VIRTUAL TABLE database_name.table_name USING weblog( access.log ); or CREATE VIRTUAL TABLE database_name.table_name USING fts3( ); 

SQLite COMMIT TRANSACTION statement:

COMMIT; 

SQLite COUNT clause:

SELECT COUNT(column_name) FROM table_name WHERE CONDITION; 

SQLite DELETE statement:

DELETE FROM table_name WHERE {CONDITION}; 

1.5.4. SQLite DETACH DATABASE statement:

DETACH DATABASE 'Alias-Name'; 

SQLite DISTINCT clause:

SELECT DISTINCT column1, column2....columnN FROM table_name; 

SQLite DROP INDEX statement:

DROP INDEX database_name.index_name; 

SQLite DROP TABLE statement:

DROP TABLE database_name.table_name; 

SQLite DROP VIEW statement:

DROP VIEW view_name; 

SQLite DROP TRIGGER statement:

DROP TRIGGER trigger_name 

SQLite EXISTS clause:

SELECT column1, column2....columnN FROM table_name WHERE column_name EXISTS (SELECT * FROM table_name ); 

SQLite EXPLAIN statement:

EXPLAIN INSERT statement...; or EXPLAIN QUERY PLAN SELECT statement...; 

SQLite GLOB clause:

SELECT column1, column2....columnN FROM table_name WHERE column_name GLOB { PATTERN }; 

SQLite GROUP BY clause:

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 statement:

INSERT INTO table_name( column1, column2....columnN) VALUES ( value1, value2....valueN); 

SQLite IN clause:

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 NOT IN clause:

SELECT column1, column2....columnN FROM table_name WHERE column_name NOT IN (val-1, val-2,...val-N); 

SQLite ORDER BY clause:

SELECT column1, column2....columnN FROM table_name WHERE CONDITION ORDER BY column_name {ASC|DESC}; 

SQLite PRAGMA statement:

PRAGMA pragma_name; For example: PRAGMA page_size; PRAGMA cache_size = 1024; PRAGMA table_info(table_name); 

SQLite RELEASE SAVEPOINT statement:

RELEASE savepoint_name; 

SQLite REINDEX statement:

REINDEX collation_name; REINDEX database_name.index_name; REINDEX database_name.table_name; 

SQLite ROLLBACK statement:

ROLLBACK; or ROLLBACK TO SAVEPOINT savepoint_name; 

SQLite SAVEPOINT statement:

SAVEPOINT savepoint_name; 

SQLite SELECT statement:

SELECT column1, column2....columnN FROM table_name; 

SQLite UPDATE statement:

UPDATE table_name SET column1 = value1, column2 = value2....columnN=valueN [ WHERE CONDITION ]; 

SQLite VACUUM statement:

VACUUM; 

SQLite WHERE clause:

SELECT column1, column2....columnN FROM table_name WHERE CONDITION; 
《地理信息系统原理、技术与方法》  97

最近几年来,地理信息系统无论是在理论上还是应用上都处在一个飞速发展的阶段。 GIS被应用于多个领域的建模和决策支持,如城市管理、区划、环境整治等等,地理信息成为信息时代重要的组成部分之一; “数字地球”概念的提出,更进一步推动了作为其技术支撑的GIS的发展。 与此同时,一些学者致力于相关的理论研究,如空间感知、空间数据误差、空间关系的形式化等等。 这恰好说明了地理信息系统作为应用技术和学科的两个方面,并且这两个方面构成了相互促进的发展过程。