鍍金池/ 教程/ 數(shù)據(jù)庫/ SQLite 語法
SQLite Having 子句
SQLite 運算符
SQLite 注入
SQLite Delete 語句
SQLite – Python
SQLite 數(shù)據(jù)類型
SQLite 簡介
SQLite 創(chuàng)建數(shù)據(jù)庫
SQLite Vacuum
SQLite Group By
SQLite 日期 & 時間
SQLite AND/OR 運算符
SQLite 刪除表
SQLite Distinct
SQLite Alter 命令
SQLite PRAGMA
SQLite 約束
SQLite 創(chuàng)建表
SQLite Like 子句
SQLite Limit 子句
SQLite Autoincrement
SQLite 子查詢
SQLite – C/C++
SQLite – PHP
SQLite 命令
SQLite Order By
SQLite Select 語句
SQLite Unions 子句
SQLite – Perl
SQLite – Java
SQLite 別名
SQLite 常用函數(shù)
SQLite Explain(解釋)
SQLite NULL 值
SQLite Glob 子句
SQLite 表達式
SQLite 視圖
SQLite Where 子句
SQLite Truncate Table
SQLite 索引
SQLite Insert 語句
SQLite 安裝
SQLite Indexed By
SQLite 分離數(shù)據(jù)庫
SQLite 觸發(fā)器
SQLite 語法
SQLite Joins
SQLite Update 語句
SQLite 附加數(shù)據(jù)庫
SQLite 事務(wù)

SQLite 語法

SQLite 是遵循一套獨特的稱為語法的規(guī)則和準則。本教程列出了所有基本的 SQLite 語法,向您提供了一個 SQLite 快速入門。

大小寫敏感性

有個重要的點值得注意,SQLite 是不區(qū)分大小寫的,但也有一些命令是大小寫敏感的,比如 GLOBglob 在 SQLite 的語句中有不同的含義。

注釋

SQLite 注釋是附加的注釋,可以在 SQLite 代碼中添加注釋以增加其可讀性,他們可以出現(xiàn)在任何空白處,包括在表達式內(nèi)和其他 SQL 語句的中間,但它們不能嵌套。

SQL 注釋以兩個連續(xù)的 "-" 字符(ASCII 0x2d)開始,并擴展至下一個換行符(ASCII 0x0a)或直到輸入結(jié)束,以先到者為準。

您也可以使用 C 風格的注釋,以 "/" 開始,并擴展至下一個 "/" 字符對或直到輸入結(jié)束,以先到者為準。SQLite的注釋可以跨越多行。

    sqlite>.help -- This is a single line comment

SQLite 語句

所有的 SQLite 語句可以以任何關(guān)鍵字開始,如 SELECT、INSERT、UPDATE、DELETE、ALTER、DROP 等,所有的語句以分號(;)結(jié)束。

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;