工作快一年了,接觸的東西不是很多,學到的東西也不多。無意中看到公司的代碼有一點關於sqlite3的(不是我這一層負責的代碼),於是乎就學學試試。 參考: http://www.runoob.com/sqlite/sqlite-tutorial.html 20160612 更新 1,什麼是SQLite ...
工作快一年了,接觸的東西不是很多,學到的東西也不多。無意中看到公司的代碼有一點關於sqlite3的(不是我這一層負責的代碼),於是乎就學學試試。
參考: http://www.runoob.com/sqlite/sqlite-tutorial.html
20160612 更新
1,什麼是SQLite?
SQLite是一個進程內的庫,實現了自給自足的、無伺服器的、零配置的、事務性的 SQL 資料庫引擎。它是一個零配置的資料庫。
2.SQLite的優勢
-
不需要一個單獨的伺服器進程或操作的系統(無伺服器的)。
-
SQLite 不需要配置,這意味著不需要安裝或管理。
-
一個完整的 SQLite 資料庫是存儲在一個單一的跨平臺的磁碟文件。
-
SQLite 是非常小的,是輕量級的,完全配置時小於 400KiB,省略可選功能配置時小於250KiB。
-
SQLite 是自給自足的,這意味著不需要任何外部的依賴。
-
SQLite 事務是完全相容 ACID 的,允許從多個進程或線程安全訪問。
-
SQLite 支持 SQL92(SQL2)標準的大多數查詢語言的功能。
-
SQLite 使用 ANSI-C 編寫的,並提供了簡單和易於使用的 API。
-
SQLite 可在 UNIX(Linux, Mac OS-X, Android, iOS)和 Windows(Win32, WinCE, WinRT)中運行
3.SQLite命令: 跟其他資料庫語言一樣
(1)DDL(數據定義語言): create drop alter
(2)DML(數據操縱語言): delete update insert
(3)DQL(數據查詢語言): select
4.SQLite的安裝
在windows里不需要安裝,在http://www.sqlite.org/download.html 這裡下載 sqlite-tools-win32-x86-3130000.zip 這個東西。
我以我的為例:
在F盤創建一個文件夾sqlite3,將下載的文件解壓,會有三個文件(sqlite3.exe sqldiff.exe sqlite3_analyzer.exe),直接放在sqlite3目錄下就可以了。
運行: 運行cmd.exe 然後切換到F盤的sqlite3文件夾。就可以直接運行了。
20160614 更新
1.SQLite命令:我們在命令提示符下鍵入一個簡單的 sqlite3 命令,在 SQLite 命令提示符下,您可以使用各種 SQLite 命令。
就像這樣:
2.需獲取可用的點命令的清單,可以在任何時候輸入 ".help",再回車就可以。
3.查看 SQLite 命令提示符的預設設置: .show
還可以進行設置:就像下麵這樣(具體可以參考: http://blog.csdn.net/wirelessqa/article/details/21030147 )
4.先說一個命令:
.read ***(一個數據文件)
比如說我在sqlite3目錄下新建一個文檔: create_company.txt
裡面的內容是:
drop table company; -- 刪除表
create table company( -- 創建表 這個表示單行註釋
ID int primary key not NULL, /* 這個是多行註釋 */
NAME TEXT NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR(50),
SALARY REAL
);
然後:.read create_company.txt /* 就相當於直接運行了create_company.txt裡面的語句 */
5. SQLite語法:SQLite 是遵循一套獨特的稱為語法的規則和準則
(具體後面用到時再分析)
6. SQLite數據類型:數據類型是一個用來指定任何對象的數據類型的屬性
可以在創建表的同時使用這些數據類型。SQLite 使用一個更普遍的動態類型系統。在 SQLite 中,值的數據類型與值本身是相關的,而不是與它的容器相關。
(1)SQLite存儲類:主要有以下幾種,冒號後面是解釋
NULL: 一個NULL值
INTEGER: 一個帶符號的整數,根據值的大小存儲在 1、2、3、4、6 或 8 位元組中
REAL:浮點數,存儲為8位元組的IEEE浮點數字
TEXT:文本字元串,使用資料庫編碼(UTF-8、UTF-16BE等)存儲
GLOB:blob數據,完全根據它的輸入存儲(這個我也不是很理解)
(2)布爾數據類型: 沒有專門的布爾數據,只有0和1
7. 創建資料庫:
(1)基本語法如下: sqlite>sqlite3 testDB.db
(2).dump 命令:導出完整的資料庫在一個文本文件中
如:sqlite> testDB,db .dump > testDB,sql /* 將轉換整個 testDB.db 資料庫的內容到 SQLite 的語句中,並將其轉儲到 ASCII 文本文件 testDB.sql 中 */
恢復: sqlite> testDB,db < testDB,sql /* 從生成的 testDB.sql 恢復 */