📜  SQLite语法

📅  最后修改于: 2020-11-12 09:35:32             🧑  作者: Mango

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语句(重命名)

句法:

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赞子句

句法:

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 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;