這個SQLite快速入門教學教你如何有效地開始學習並使用SQLite。通過本教學的實踐操作學習之後,相信你應該可以了解並能夠熟練地使用SQLite了。
如果您一直在使用其他關聯式資料庫管理系統,例如:MySQL,PostgreSQL,Oracle,Microsoft SQL Sever等,並且您聽說過SQLite。那麼現在就可更多了解和學習SQLite了。
如果您想使用SQLite資料庫而不是簡單檔案來管理應用程式中的結構化資料。並想要立即開始使用SQLite,以確定SQLite是否可以用於您的應用程式。
如果你是剛剛開始學習SQL,並希望使用SQLite作為資料庫系統。
如果您是上述人員之一,這個SQLite教學是很適合您。
SQLite是一種開源,零組態,獨立的,獨立的,事務關聯式資料庫引擎,旨在嵌入到應用程式中。
如果這是您第一次使用SQLite,應該先學習這一部分。 按照這3
個簡單的步驟,快速開始使用SQLite。
SQLite以其零組態而聞名,所以不需要複雜的設定或管理。 下面來看看如何在系統上安裝SQLite。
按照以下步驟進行:
開啟SQLite官方網站,轉到下載頁面 - http://www.sqlite.org/download.html 並下載預編譯的Windows二進位制檔案。
下載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資料庫進行互動。參考:/18/148/4374.html
Python連線SQLite
Python連線SQLite中演示如何使用Python sqlite3模組處理SQLite資料庫。參考:/18/148/4376.html
PHP連線SQLite
本節介紹如何使用PHP PDO與SQLite資料庫進行互動。將引導您完成設定PHP專案結構,連線到SQLite資料庫和執行常見資料庫操作的步驟。參考:/18/148/4375.html