這個SQLite快速入門教程教你如何有效地開始學習並使用SQLite。經過本教程的實踐操做學習以後,相信你應該能夠了解並可以熟練地使用SQLite了。php
若是您一直在使用其餘關係數據庫管理系統,例如:MySQL,PostgreSQL,Oracle,Microsoft SQL Sever等,而且您據說過SQLite。那麼如今就可更多瞭解和學習SQLite了。html
若是您想使用SQLite數據庫而不是簡單文件來管理應用程序中的結構化數據。並想要當即開始使用SQLite,以肯定SQLite是否能夠用於您的應用程序。 若是你是剛剛開始學習SQL,並但願使用SQLite做爲數據庫系統。 若是您是上述人員之一,這個SQLite教程是很適合您。java
SQLite是一種開源,零配置,獨立的,獨立的,事務關係數據庫引擎,旨在嵌入到應用程序中。python
若是這是您第一次使用SQLite,應該先學習這一部分。 按照這3
個簡單的步驟,快速開始使用SQLite。mysql
SQLite以其零配置而聞名,因此不須要複雜的設置或管理。 下面來看看如何在系統上安裝SQLite。web
按照如下步驟進行:sql
打開SQLite官方網站,轉到下載頁面 - http://www.sqlite.org/download.html 並下載預編譯的Windows二進制文件。shell
下載sqlite-dll
和sqlite-shell
的zip文件以及sqlite-tools-win32-x86-3170000.zip
文件。 數據庫
建立一個文件夾:D:/software/sqlite
並放置這些文件。編程
D:/software/sqlite
目錄並打開sqlite3
命令。它將以下所示:D:\software\sqlite> sqlite3 SQLite version 3.18.0 2017-03-28 18:48:43 Enter ".help" for usage hints. Connected to a transient in-memory database. Use ".open FILENAME" to reopen on a persistent database. sqlite>
上述方法有助於永久建立數據庫,附加數據庫和分離數據庫。在SQLite中執行CRUD操做有另外一種方法。在這種方法中,不須要設置路徑。下面咱們來看看如何操做 -
sqlite-tools-win32-x86-3170000.zip
。D:/software/sqlite
。sqlite3.exe
應用程序,獲得以下結果 -如今就能夠在這裏執行SQLite查詢。 可是在這裏,數據是暫時的,一旦你關閉了電腦,就將失去操做過的全部數據記錄。由於使用這種方法不能建立,附加或分離數據庫。
當前,幾乎全部的Linux操做系統都將SQLite做爲一部分一塊兒發佈。可以使用如下命令來檢查你的機器上是否安裝了SQLite。
$ sqlite3 SQLite version 3.7.15.2 2013-01-09 11:53:05 Enter ".help" for instructions Enter SQL statements terminated with a ";" sqlite>
若是沒有看到上面的結果,那麼你的Linux機器上就尚未安裝SQLite。能夠按照如下步驟安裝SQLite:
打開轉到SQLite下載頁面( http://www.sqlite.org/download.html ),並從源代碼部分下載文件:sqlite-autoconf-*.tar.gz
。
按照如下步驟操做:
$ tar xvfz sqlite-autoconf-3071502.tar.gz $ cd sqlite-autoconf-3071502 $ ./configure --prefix=/usr/local $ make $ make install
語法是一組獨特的規則和約定。 如下是SQLite的語法列表。
區分大小寫:
GLOB
和glob
在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;
本節介紹可用於SQLite的基本SQL語句。首先將學習如何建立數據庫,並執行CURD
操做數據。 若是您已經熟悉SQL(那最好不過,不熟悉也沒有關係),則會注意到SQLite中SQL方言和SQL標準之間的差別。
DISTINCT
子句從表查詢惟一行(去除重複行)。%
)和下劃線(_
)。GROUP BY
子句可用於分組總結數據以進行報告。GROUP BY
子句分組彙總的組的條件。inner join
子句查詢來自多個表的數據。left join
子句組合查詢來自多個表的數據。left join
和union
子句來模擬SQLite中的完整外鏈接。這部分將介紹如何使用insert
,update
和delete
語句更新表中的數據。
SQLite insert語句 – 將行數據插入到表中 SQLite update語句 – 更新表中存在行數據記錄。 SQLite delete語句 – 從表中刪除存在行數據記錄。
在本節中,將演示如何使用SQL數據定義語言建立數據庫對象,如:表,視圖,索引。
CREATE TABLE
語句在數據庫中建立新表。PRIMARY KEY
約束來定義表的主鍵。AUTOINCREMENT
屬性的工做原理以及爲何狀況下應該避免使用它。ALTER TABLE
語句將新行添加到現有表中並重命名錶。 還提供執行其餘操做的步驟,例如:刪除列,重命名列等。SQLite聚合函數
聚合函數將多行的值組合成一個值,該值能夠做爲分組的度量,例如:最小值,最大值,平均值,總數等。SQLite支持如下聚合函數:
**Java鏈接SQLite **
Java鏈接SQLite部分中演示如何使用Java JDBC API與SQLite數據庫進行交互。參考:http://www.yiibai.com/sqlite/java-with-sqlite.html
**Python鏈接SQLite **
Python鏈接SQLite中演示如何使用Python sqlite3模塊處理SQLite數據庫。參考:http://www.yiibai.com/sqlite/python-with-sqlite.html
PHP鏈接SQLite
本節介紹如何使用PHP PDO與SQLite數據庫進行交互。將引導您完成設置PHP項目結構,鏈接到SQLite數據庫和執行常見數據庫操做的步驟。參考:http://www.yiibai.com/sqlite/php-with-sqlite.html