在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ 數(shù)據(jù)庫(kù)/ SQLite快速入門
SQLite觸發(fā)器(刪除之前/之后)
SQLite Union All操作符
SQLite快速入門
SQLite LIMIT子句
SQLite更新查詢
SQLite插入查詢
SQLite創(chuàng)建數(shù)據(jù)庫(kù)
SQLite datetime()函數(shù)
SQLite now函數(shù)和時(shí)間格式化
SQLite左連接
SQLite AVG()函數(shù)
SQLite交叉連接(Cross Join)
SQLite運(yùn)算符
SQLite ORDER BY子句
SQLite聚合函數(shù)
SQLite Union操作符
SQLite是什么?
SQLite安裝
PHP連接SQLite數(shù)據(jù)庫(kù)
SQLite命令大全
SQLite LIKE子句
SQLite OR子句
SQLite內(nèi)連接(Inner Join)
SQLite日期和時(shí)間
SQLite WHERE子句
SQLite刪除表
Python連接SQLite數(shù)據(jù)庫(kù)
SQLite刪除觸發(fā)器
SQLite優(yōu)點(diǎn)和缺點(diǎn)
SQLite連接(JOIN子句)
SQLite數(shù)據(jù)類型
SQLite外連接(Outer Join)
SQLite COUNT()函數(shù)
SQLite主鍵
SQLite觸發(fā)器(插入之前/之后)
SQLite HAVING子句
SQLite IN運(yùn)算符
SQLite選擇查詢
SQLite date()函數(shù)
SQLite MAX()函數(shù)
SQLite刪除查詢
SQLite分離數(shù)據(jù)庫(kù)
SQLite教程
SQLite GLOB子句
SQLite MIN()函數(shù)
SQLite導(dǎo)入數(shù)據(jù)
SQLite GROUP BY子句
SQLite表達(dá)式
SQLite語(yǔ)法大全
SQLite外鍵
SQLite觸發(fā)器
SQLite導(dǎo)出數(shù)據(jù)
SQLite juliandday()函數(shù)
SQLite創(chuàng)建表
Java連接SQLite數(shù)據(jù)庫(kù)
SQLite SUM()函數(shù)
SQLite特性/為什么要使用SQLite?
SQLite觸發(fā)器(更新之前/之后)
SQLite strftime()函數(shù)日期日間格式化
SQLite附加/選擇數(shù)據(jù)庫(kù)
SQLite DISTINCT子句
SQLite歷史
SQLite time()函數(shù)

SQLite快速入門

這個(gè)SQLite快速入門教程教你如何有效地開始學(xué)習(xí)并使用SQLite。通過(guò)本教程的實(shí)踐操作學(xué)習(xí)之后,相信你應(yīng)該可以了解并能夠熟練地使用SQLite了。

如果您一直在使用其他關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng),例如:MySQL,PostgreSQLOracle,Microsoft SQL Sever等,并且您聽說(shuō)過(guò)SQLite。那么現(xiàn)在就可更多了解和學(xué)習(xí)SQLite了。

如果您想使用SQLite數(shù)據(jù)庫(kù)而不是簡(jiǎn)單文件來(lái)管理應(yīng)用程序中的結(jié)構(gòu)化數(shù)據(jù)。并想要立即開始使用SQLite,以確定SQLite是否可以用于您的應(yīng)用程序。
如果你是剛剛開始學(xué)習(xí)SQL,并希望使用SQLite作為數(shù)據(jù)庫(kù)系統(tǒng)。
如果您是上述人員之一,這個(gè)SQLite教程是很適合您。

1. SQLite是什么?

SQLite是一種開源,零配置,獨(dú)立的,獨(dú)立的,事務(wù)關(guān)系數(shù)據(jù)庫(kù)引擎,旨在嵌入到應(yīng)用程序中。

2. SQLite入門步驟

如果這是您第一次使用SQLite,應(yīng)該先學(xué)習(xí)這一部分。 按照這3個(gè)簡(jiǎn)單的步驟,快速開始使用SQLite。

  1. 首先,第一個(gè)重要的問(wèn)題:什么是SQLite? 在開始使用SQLite之前,簡(jiǎn)要了解一下SQLite。
  2. 其次,知道如何在您的計(jì)算機(jī)上下載和安裝SQLite GUI工具。
  3. 第三,介紹如何創(chuàng)建SQLite示例數(shù)據(jù)庫(kù),并引導(dǎo)完成使用示例數(shù)據(jù)庫(kù)進(jìn)行練習(xí)操作的步驟。

2.1 安裝SQLite數(shù)據(jù)庫(kù)

SQLite以其零配置而聞名,所以不需要復(fù)雜的設(shè)置或管理。 下面來(lái)看看如何在系統(tǒng)上安裝SQLite。

在Windows上安裝SQLite

按照以下步驟進(jìn)行:

  • 打開SQLite官方網(wǎng)站,轉(zhuǎn)到下載頁(yè)面 - http://www.sqlite.org/download.html 并下載預(yù)編譯的Windows二進(jìn)制文件。

  • 下載sqlite-dllsqlite-shell的zip文件以及sqlite-tools-win32-x86-3170000.zip文件。

  • 創(chuàng)建一個(gè)文件夾:D:/software/sqlite并放置這些文件。

  • 進(jìn)入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>

上述方法有助于永久創(chuàng)建數(shù)據(jù)庫(kù),附加數(shù)據(jù)庫(kù)和分離數(shù)據(jù)庫(kù)。在SQLite中執(zhí)行CRUD操作有另一種方法。在這種方法中,不需要設(shè)置路徑。下面我們來(lái)看看如何操作 -

  • 只需下載SQlite預(yù)編譯的二進(jìn)制zip文件:sqlite-tools-win32-x86-3170000.zip。
  • 解壓到目錄:D:/software/sqlite。
  • 直接雙擊運(yùn)行sqlite3.exe應(yīng)用程序,得到如下結(jié)果 -

現(xiàn)在就可以在這里執(zhí)行SQLite查詢。 但是在這里,數(shù)據(jù)是暫時(shí)的,一旦你關(guān)閉了電腦,就將失去操作過(guò)的所有數(shù)據(jù)記錄。因?yàn)槭褂眠@種方法不能創(chuàng)建,附加或分離數(shù)據(jù)庫(kù)。

在Linux上安裝SQLite

當(dāng)前,幾乎所有的Linux操作系統(tǒng)都將SQLite作為一部分一起發(fā)布??墒褂靡韵旅顏?lái)檢查你的機(jī)器上是否安裝了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>

如果沒(méi)有看到上面的結(jié)果,那么你的Linux機(jī)器上就還沒(méi)有安裝SQLite??梢园凑找韵虏襟E安裝SQLite:

打開轉(zhuǎn)到SQLite下載頁(yè)面( 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

2.2. SQLite語(yǔ)法大全

語(yǔ)法是一組獨(dú)特的規(guī)則和約定。 以下是SQLite的語(yǔ)法列表。

區(qū)分大小寫:

  • SQLite不區(qū)分大小寫。但是,有一些區(qū)分大小寫的命令。例如:GLOBglob在SQLite語(yǔ)句中有不同的含義。

注釋:

  • 注釋用于在SQLite代碼中增加代碼的可讀性。
  • 注釋不能嵌套。
  • 注釋以兩個(gè)連續(xù)的“ - ”字符。
  • 也可使用“/*”字符開始,并延伸至下一個(gè)“*/”字符對(duì)所包括的內(nèi)容視為注釋。

SQLite語(yǔ)句

所有的SQLite語(yǔ)句都是以關(guān)鍵字(如:SELECTINSERT,UPDATEDELETE,ALTER,DROP等)開始的。所有語(yǔ)句都以分號(hào)(;)結(jié)尾。

SQLite ANALYZE語(yǔ)句的語(yǔ)法:

ANALYZE;  
-- or  
ANALYZE database_name;  
-- or  
ANALYZE database_name.table_name;

SQLite AND/OR子句的語(yǔ)法:

SELECT column1, column2....columnN  
FROM   table_name  
WHERE  CONDITION-1 {AND|OR} CONDITION-2;

SQLite ALTER TABLE語(yǔ)句的語(yǔ)法

ALTER TABLE table_name ADD COLUMN column_def...;

SQLite ALTER TABLE語(yǔ)句(Rename)語(yǔ)句的語(yǔ)法

ALTER TABLE table_name RENAME TO new_table_name;

SQLite ATTACH DATABASE語(yǔ)句的語(yǔ)法:

ATTACH DATABASE 'DatabaseName' As 'Alias-Name';

SQLite BEGIN TRANSACTION語(yǔ)句的語(yǔ)法:

BEGIN;  
-- or  
BEGIN EXCLUSIVE TRANSACTION;

SQLite BETWEEN語(yǔ)句的語(yǔ)法:

SELECT column1, column2....columnN  
FROM   table_name  
WHERE  column_name BETWEEN val-1 AND val-2;  
SQLite COMMIT Statement:  
COMMIT;

SQLite CREATE INDEX語(yǔ)句的語(yǔ)法:

CREATE INDEX index_name  
ON table_name ( column_name COLLATE NOCASE );

SQLite CREATE UNIQUE INDEX語(yǔ)句的語(yǔ)法:

CREATE UNIQUE INDEX index_name  
ON table_name ( column1, column2,...columnN);

SQLite CREATE TABLE語(yǔ)句的語(yǔ)法:

CREATE TABLE table_name(  
   column1 datatype,  
   column2 datatype,  
   column3 datatype,  
   .....  
   columnN datatype,  
   PRIMARY KEY( one or more columns ));

SQLite CREATE TRIGGER語(yǔ)句的語(yǔ)法:

CREATE TRIGGER database_name.trigger_name   
BEFORE INSERT ON table_name FOR EACH ROW  
BEGIN   
   stmt1;   
   stmt2;  
   ....  
END;

SQLite CREATE VIEW語(yǔ)句的語(yǔ)法:

CREATE VIEW database_name.view_name  AS  
SELECT statement....;

SQLite CREATE VIRTUAL TABLE語(yǔ)句的語(yǔ)法:

CREATE VIRTUAL TABLE database_name.table_name USING weblog( access.log );  
-- or  
CREATE VIRTUAL TABLE database_name.table_name USING fts3( );

SQLite COMMIT TRANSACTION語(yǔ)句的語(yǔ)法:

COMMIT;

SQLite COUNT語(yǔ)句的語(yǔ)法:

SELECT COUNT(column_name)  
FROM   table_name  
WHERE  CONDITION;

SQLite DELETE語(yǔ)句的語(yǔ)法:

DELETE FROM table_name  
WHERE  {CONDITION};

SQLite DETACH DATABASE語(yǔ)句的語(yǔ)法:

DETACH DATABASE 'Alias-Name';

SQLite DISTINCT語(yǔ)句的語(yǔ)法:

SELECT DISTINCT column1, column2....columnN  
FROM   table_name;

SQLite DROP INDEX語(yǔ)句的語(yǔ)法:

DROP INDEX database_name.index_name;

SQLite DROP TABLE語(yǔ)句的語(yǔ)法:

DROP TABLE database_name.table_name;

SQLite DROP VIEW語(yǔ)句的語(yǔ)法:

DROP INDEX database_name.view_name;

SQLite DROP TRIGGER 語(yǔ)句的語(yǔ)法:

DROP INDEX database_name.trigger_name;

SQLite EXISTS語(yǔ)句的語(yǔ)法:

SELECT column1, column2....columnN  
FROM   table_name  
WHERE  column_name EXISTS (SELECT * FROM   table_name );

SQLite EXPLAIN語(yǔ)句的語(yǔ)法:

EXPLAIN INSERT statement...;  
-- or   
EXPLAIN QUERY PLAN SELECT statement...;

SQLite GLOB語(yǔ)句的語(yǔ)法:

SELECT column1, column2....columnN  
FROM   table_name  
WHERE  column_name GLOB { PATTERN };

SQLite GROUP BY語(yǔ)句的語(yǔ)法:

SELECT SUM(column_name)  
FROM   table_name  
WHERE  CONDITION  
GROUP BY column_name;

SQLite HAVING語(yǔ)句的語(yǔ)法:

SELECT SUM(column_name)  
FROM   table_name  
WHERE  CONDITION  
GROUP BY column_name  
HAVING (arithematic function condition);

SQLite INSERT INTO語(yǔ)句的語(yǔ)法:

INSERT INTO table_name( column1, column2....columnN)  
VALUES ( value1, value2....valueN);

SQLite IN語(yǔ)句的語(yǔ)法:

SELECT column1, column2....columnN  
FROM   table_name  
WHERE  column_name IN (val-1, val-2,...val-N);

SQLite Like語(yǔ)句的語(yǔ)法:

SELECT column1, column2....columnN  
FROM   table_name  
WHERE  column_name LIKE { PATTERN };

SQLite NOT IN語(yǔ)句的語(yǔ)法:

SELECT column1, column2....columnN  
FROM   table_name  
WHERE  column_name NOT IN (val-1, val-2,...val-N);

SQLite ORDER BY語(yǔ)句的語(yǔ)法:

SELECT column1, column2....columnN  
FROM   table_name  
WHERE  CONDITION  
ORDER BY column_name {ASC|DESC};

SQLite PRAGMA語(yǔ)句的語(yǔ)法:

PRAGMA pragma_name;

有關(guān)pragma的幾個(gè)示例:

PRAGMA page_size;  
PRAGMA cache_size = 1024;  
PRAGMA table_info(table_name);

SQLite RELEASE SAVEPOINT語(yǔ)句的語(yǔ)法:

RELEASE savepoint_name;

SQLite REINDEX語(yǔ)句的語(yǔ)法:

REINDEX collation_name;  
REINDEX database_name.index_name;  
REINDEX database_name.table_name;

SQLite ROLLBACK語(yǔ)句的語(yǔ)法:

ROLLBACK;  
-- or  
ROLLBACK TO SAVEPOINT savepoint_name;

SQLite SAVEPOINT語(yǔ)句的語(yǔ)法:

SAVEPOINT savepoint_name;

SQLite SELECT語(yǔ)句的語(yǔ)法:

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

SQLite UPDATE語(yǔ)句的語(yǔ)法:

UPDATE table_name  
SET column1 = value1, column2 = value2....columnN=valueN  
[ WHERE  CONDITION ];

SQLite VACUUM語(yǔ)句的語(yǔ)法:

VACUUM;  
SQLite WHERE Clause:  
SELECT column1, column2....columnN  
FROM   table_name  
WHERE  CONDITION;

3. SQLite基礎(chǔ)

本節(jié)介紹可用于SQLite的基本SQL語(yǔ)句。首先將學(xué)習(xí)如何創(chuàng)建數(shù)據(jù)庫(kù),并執(zhí)行CURD操作數(shù)據(jù)。 如果您已經(jīng)熟悉SQL(那最好不過(guò),不熟悉也沒(méi)有關(guān)系),則會(huì)注意到SQLite中SQL方言和SQL標(biāo)準(zhǔn)之間的差異。

  • SQLite查詢數(shù)據(jù) – 使用SELECT語(yǔ)句從單個(gè)表或多個(gè)表中查詢數(shù)據(jù)。
  • SQLite Order By – 以升序或降序?qū)Y(jié)果集進(jìn)行排序。
  • SQLite Select Distinct – 使用DISTINCT子句從表查詢唯一行(去除重復(fù)行)。
  • SQLite Where – 使用各種條件過(guò)濾行結(jié)果集。
  • SQLite Limit – 限制要返回的行數(shù)。LIMIT子句可用于獲取查詢返回的必要數(shù)據(jù)。
  • SQLite IN – 檢查值是否匹配值或子查詢列表中的任何值。
  • SQLite Like – 基于使用通配符的模式匹配查詢數(shù)據(jù):百分號(hào)()和下劃線(_)。
  • SQLite Glob – 確定字符串是否匹配指定的UNIX模式。
  • SQLite Group By – 根據(jù)指定的條件將數(shù)據(jù)集合分組。 GROUP BY子句可用于分組總結(jié)數(shù)據(jù)以進(jìn)行報(bào)告。
  • SQLite Having – 指定過(guò)濾由GROUP BY子句分組匯總的組的條件。
  • SQLite內(nèi)連接 – 使用inner join子句查詢來(lái)自多個(gè)表的數(shù)據(jù)。
  • SQLite左連接 – 使用left join子句組合查詢來(lái)自多個(gè)表的數(shù)據(jù)。
  • SQLite交叉連接 – 演示如何使用交叉連接子句來(lái)生成連接中涉及的表的結(jié)果集的笛卡爾乘積。
  • SQLite自連接 – 將表連接到其自身以創(chuàng)建將行與其他行連接在同一個(gè)表中的結(jié)果集。
  • SQLite Union – 將多個(gè)查詢的結(jié)果集合合到單個(gè)結(jié)果集中。還討論了UNION和UNION ALL子句之間的差異。
  • SQLite全外連接 – 顯示如何使用left joinunion子句來(lái)模擬SQLite中的完整外連接。
  • SQLite Case – 為查詢添加條件邏輯。
  • SQLite子查詢 – 介紹SQLite子查詢和相關(guān)子查詢。

4. SQLite數(shù)據(jù)更新

這部分將介紹如何使用insert,updatedelete語(yǔ)句更新表中的數(shù)據(jù)。

SQLite insert語(yǔ)句 – 將行數(shù)據(jù)插入到表中
SQLite update語(yǔ)句 – 更新表中存在行數(shù)據(jù)記錄。
SQLite delete語(yǔ)句 – 從表中刪除存在行數(shù)據(jù)記錄。

5. 使用數(shù)據(jù)庫(kù)對(duì)象

在本節(jié)中,將演示如何使用SQL數(shù)據(jù)定義語(yǔ)言創(chuàng)建數(shù)據(jù)庫(kù)對(duì)象,如:表,視圖,索引。

  • SQLite數(shù)據(jù)類型 – 介紹SQLite動(dòng)態(tài)類型系統(tǒng)及其重要概念:存儲(chǔ)類,表現(xiàn)類型和類型關(guān)聯(lián)。
  • SQLite創(chuàng)建表 – 演示如何使用CREATE TABLE語(yǔ)句在數(shù)據(jù)庫(kù)中創(chuàng)建新表。
  • SQLite主鍵 – 演示如何使用PRIMARY KEY約束來(lái)定義表的主鍵。
  • SQLite AUTOINCREMENT – 演示如何使用AUTOINCREMENT屬性的工作原理以及為什么情況下應(yīng)該避免使用它。
  • SQLite修改表定義 – 演示如何使用ALTER TABLE語(yǔ)句將新行添加到現(xiàn)有表中并重命名表。 還提供執(zhí)行其他操作的步驟,例如:刪除列,重命名列等。
  • SQLite刪除表 – 演示如何從數(shù)據(jù)庫(kù)中刪除指定表。
  • SQLite創(chuàng)建視圖 – 介紹視圖概念,并演示如何在數(shù)據(jù)庫(kù)中創(chuàng)建視圖。
  • SQLite索引 – 演示如何使用和創(chuàng)建索引,以及如何利用索引來(lái)加快查詢。
  • SQLite表達(dá)式索引 – 演示如何使用基于表達(dá)式的索引
  • SQLite VACUUM – 優(yōu)化數(shù)據(jù)庫(kù)文件。
  • SQLite觸發(fā)器 – 在SQLite數(shù)據(jù)庫(kù)中管理觸發(fā)器。

6. SQLite函數(shù)

SQLite聚合函數(shù)

聚合函數(shù)將多行的值組合成一個(gè)值,該值可以作為分組的度量,例如:最小值,最大值,平均值,總數(shù)等。SQLite支持以下聚合函數(shù):

7. SQLite編程接口

Java連接SQLite

Java連接SQLite部分中演示如何使用Java JDBC API與SQLite數(shù)據(jù)庫(kù)進(jìn)行交互。參考:http://www.yiibai.com/sqlite/java-with-sqlite.html

Python連接SQLite

Python連接SQLite中演示如何使用Python sqlite3模塊處理SQLite數(shù)據(jù)庫(kù)。參考:http://www.yiibai.com/sqlite/python-with-sqlite.html

PHP連接SQLite

本節(jié)介紹如何使用PHP PDO與SQLite數(shù)據(jù)庫(kù)進(jìn)行交互。將引導(dǎo)您完成設(shè)置PHP項(xiàng)目結(jié)構(gòu),連接到SQLite數(shù)據(jù)庫(kù)和執(zhí)行常見數(shù)據(jù)庫(kù)操作的步驟。參考:http://www.yiibai.com/sqlite/php-with-sqlite.html


上一篇:SQLite主鍵下一篇:SQLite教程