http://www.runoob.com/sqlite/sqlite-syntax.html

SQLite 语法

SQLite 是遵循一套独特的称为语法的规则和准则。本教程列出了所有基本的 SQLite 语法,向您提供了一个 SQLite 快速入门。

大小写敏感性

有个重要的点值得注意,SQLite 是不区分大小写的,但也有一些命令是大小写敏感的,比如 GLOB 和 glob 在 SQLite 的语句中有不同的含义。

注释

SQLite 注释是附加的注释,可以在 SQLite 代码中添加注释以增加其可读性,他们可以出现在任何空白处,包括在表达式内和其他 SQL 语句的中间,但它们不能嵌套。

SQL 注释以两个连续的 "-" 字符(ASCII 0x2d)开始,并扩展至下一个换行符(ASCII 0x0a)或直到输入结束,以先到者为准。

您也可以使用 C 风格的注释,以 "/*" 开始,并扩展至下一个 "*/" 字符对或直到输入结束,以先到者为准。SQLite的注释可以跨越多行。

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

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 语句:

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;

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

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

  

SQLite 使用教程2 语法的更多相关文章

  1. 【SQLite】教程03-SQLite语法

    注释: sqlite>.help -- 这是一个简单的注释 SQLite ANALYZE 语句: 收集有关表和索引的统计信息,并将收集的信息存储在数据库的内部表中 ANALYZE; or ANA ...

  2. 在Java中使用SQLite的教程(转)

    简介:这是在Java中使用SQLite的教程的详细页面,介绍了和java,有关的知识.技巧.经验,和一些java源码等. 简单的在Java中使用SQLite的教程 使用SQLiteJDBC封装 www ...

  3. SQLite基础教程目录

    SQLite基础教程目录 SQLite主页 SQLite概述 SQLite -安装 SQLite -命令 SQLite -语法 SQLite -数据类型 SQLite -创建数据库 SQLite -附 ...

  4. SQLite使用教程8 Insert 语句

    http://www.runoob.com/sqlite/sqlite-insert.html SQLite Insert 语句 SQLite 的 INSERT INTO 语句用于向数据库的某个表中添 ...

  5. SQLite 入门教程(一)基本控制台(终端)命令 (转)

    转于: SQLite 入门教程(一)基本控制台(终端)命令 一.基本简介   SQLite 是一个自持的(self-contained).无服务器的.零配置的.事务型的关系型数据库引擎.因为他很小,所 ...

  6. SQLite 入门教程(二)创建、修改、删除表 (转)

    转于 SQLite 入门教程(二)创建.修改.删除表 一.数据库定义语言 DDL 在关系型数据库中,数据库中的表 Table.视图 View.索引 Index.关系 Relationship 和触发器 ...

  7. SQLite 入门教程(三)好多约束 Constraints(转)

    转于: SQLite 入门教程(三)好多约束 Constraints 一.约束 Constraints 在上一篇随笔的结尾,我提到了约束, 但是在那里我把它翻译成了限定符,不太准确,这里先更正一下,应 ...

  8. SQLite 入门教程(四)增删改查,有讲究 (转)

    转于: SQLite 入门教程(四)增删改查,有讲究 一.插入数据 INSERT INTO 表(列...) VALUES(值...) 根据前面几篇的内容,我们可以很轻送的创建一个数据表,并向其中插入一 ...

  9. Swift入门教程:基本语法大全

    原文:Swift入门教程:基本语法大全       简介:                                                                        ...

随机推荐

  1. mongoDB入门必读

    一.概述 MongoDB是一个基于分布式文件存储的数据库开源项目. 由C++语言编写,旨在为WEB应用提供可护展的高性能数据存储解决方案. MongoDB是一个介于关系数据库和非关系数据库之间的产品. ...

  2. LINUX进程优先级实现

    首先linux进程优先级的范围是-20到19 将当前目录下的documents目录打包,但不希望tar占用太多CPU: nice -19 tar zcf pack.tar.gz documents 这 ...

  3. 【转】Android Service被关闭后自动重启,解决被异常kill 服务

    http://www.kaifajie.cn/android/10182-2.html 每次调用startService(Intent)的时候,都会调用该Service对象的onStartComman ...

  4. pylinter could not automatically determined the path to `lint.py`

    先关闭Sublime Text 1) 到官网先下载pylinter,http://www.logilab.org/project/pylint,然后解压缩,拷贝到C盘,目录为C:\pylint-1.0 ...

  5. poj3270Cow Sorting(置换)

    链接 对于组合数学是一点也不了解 讲解 重要一点 要知道一个循环里最少的交换次数是m-1次 . #include <iostream> #include<cstdio> #in ...

  6. Thread: BooleanRT : Realtime 3D boolean operations for (Runtime,Editor)

    A Product by Mixed Dimensions What is BooleanRT? BooleanRT is a real-time 3D boolean operations exte ...

  7. RMAN catalog备份恢复方案

    对于数据库的稳定性,高可用,跨平台以及海量数据库的处理,Oracle 数据库通常是大型数据库和大企业的首选.尽管如此,仍然不乏很多中小企业想要品尝一下Oracle腥味,因此在Oracle环境中也有不少 ...

  8. Warning: Name is nonexistent or not a directory

    Every time I start up MATLAB, I receive this message: Warning: Name is nonexistent or not a director ...

  9. 【转】tomcat下jndi的三种配置方式

    jndi(Java Naming and Directory Interface,Java命名和目录接口)是一组在Java应用中访问命名和目录服务的API.命名服务将名称和对象联系起来,使得我们可以用 ...

  10. tcxtreelist 展示图片 图像

    procedure TfrmstPostImageCollate.LoadCollateImage(AOrderID: integer);var mySql: string; node: TcxTre ...