Time of Update: 2017-01-18
1. 介紹SQLite 是一個開源的嵌入式關聯式資料庫,實現自包容、零配置、支援事務的SQL資料庫引擎。 其特點是高度便攜、使用方便、結構緊湊、高效、可靠。 與其他資料庫管理系統不同,SQLite 的安裝和運行非常簡單,在大多數情況下 - 只要確保SQLite的二進位檔案存在即可開始建立、串連和使用資料庫。如果您正在尋找一個嵌入式資料庫專案或解決方案,SQLite是絕對值得考慮。2. 安裝SQLite on Windows1)進入 SQL
Time of Update: 2017-01-18
下面是具體的實現代碼:sqlite> SELECT datetime(1377168853, 'unixepoch', 'localtime');+------------------------------------------------+| datetime(1377168853, 'unixepoch', 'localtime') |+------------------------------------------------+| 2013-08-22 18:54:13
Time of Update: 2017-01-18
複製代碼 代碼如下:#define SQLITE_OK 0 /* 成功 | Successful result *//* 錯誤碼開始 */#define SQLITE_ERROR 1 /* SQL錯誤 或 遺失資料庫 | SQL error or
Time of Update: 2017-01-18
一、常用備份: 下面的方法是比較簡單且常用的SQLiteDatabase Backup方式,見如下步驟: 1). 使用SQLite API或Shell工具在來源資料庫檔案上加共用鎖定。 2). 使用Shell工具(cp或copy)拷貝資料庫檔案到備份目錄。 3). 解除資料庫檔案上的共用鎖定。
Time of Update: 2017-01-18
一、記憶體資料庫: 在SQLite中,資料庫通常是儲存在磁碟檔案中的。然而在有些情況下,我們可以讓資料庫始終駐留在記憶體中。最常用的一種方式是在調用sqlite3_open()的時候,資料庫檔案名參數傳遞":memory:",如:複製代碼 代碼如下: rc = sqlite3_open(":memory:", &db);
Time of Update: 2017-01-18
一、約束 Constraints在上一篇隨筆的結尾,我提到了約束, 但是在那裡我把它翻譯成了限定符,不太準確,這裡先更正一下,應該翻譯成約束更貼切一點。 那麼什麼是約束呢? 我們在資料庫中儲存資料的時候,有一些資料有明顯的約束條件。 比如一所學校關於教師的資料表,其中的欄位列可能有如下約束: 年齡 - 至少大於20歲。如果你想錄入一個小於20歲的教師,系統會報錯 國籍 - 預設中國。所謂預設,就是如果你不填寫,系統自動填上預設值 姓名 - 不可為空。每個人都有名字嘛 員工號 -
Time of Update: 2017-01-18
一、基本簡介 SQLite 是一個自持的(self-contained)、無伺服器的、零配置的、事務型的關係型資料庫引擎。因為他很小,所以也可以作為嵌入式資料庫內建在你的應用程式中。SQLite 被應用在 Solaris 10作業系統、Mac OS 作業系統、iPhone 和 Skype 中。QT4 、Python 、 PHP 都預設支援 SQLite ,Firefox Amarok 等流行的應用程式在內部也使用了 SQLite.SQLite 資料庫引擎實現了主要的 SQL-92
Time of Update: 2017-01-18
一、儲存種類和資料類型: SQLite將資料值的儲存劃分為以下幾種儲存類型: 複製代碼 代碼如下: NULL: 表示該值為NULL值。 INTEGER: 無符號整型值。 REAL: 浮點值。 TEXT:
Time of Update: 2017-01-18
概述SQLite介紹自幾十年前出現的商務應用程式以來,資料庫就成為軟體應用程式的主要組成部分。正與資料庫管理系統非常關鍵一樣,它們也變得非常龐大,並佔用了相當多的系統資源,增加了管理的複雜性。隨著軟體應用程式逐漸模組模組化,一種新型資料庫會比大型複雜的傳統資料庫管理系統更適應。嵌入式資料庫直接在應用程式進程中運行,提供了零配置(zero-configuration)運行模式,並且資源佔用非常少。 SQLite是一個開源的嵌入式關聯式資料庫,它在2000年由D. Richard
Time of Update: 2017-01-18
一、概述: 在SQLite中,鎖和並發控制機制都是由pager_module模組負責處理的,如ACID(Atomic, Consistent, Isolated, and Durable)。在含有資料修改的事務中,該模組將確保或者所有的資料修改全部提交,或者全部復原。與此同時,該模組還提供了一些磁碟檔案的記憶體Cache功能。
Time of Update: 2017-01-18
一、記憶體資料庫: 在SQLite中,資料庫通常是儲存在磁碟檔案中的。然而在有些情況下,我們可以讓資料庫始終駐留在記憶體中。最常用的一種方式是在調用sqlite3_open()的時候,資料庫檔案名參數傳遞":memory:",如: 複製代碼 代碼如下: rc = sqlite3_open(":memory:", &db);
Time of Update: 2017-01-18
一、常用備份: 下面的方法是比較簡單且常用的SQLiteDatabase Backup方式,見如下步驟: 1). 使用SQLite API或Shell工具在來源資料庫檔案上加共用鎖定。 2). 使用Shell工具(cp或copy)拷貝資料庫檔案到備份目錄。 3). 解除資料庫檔案上的共用鎖定。
Time of Update: 2017-01-18
工欲善其事,必先利其器。學好SQLite的命令列工具,對於我們學習SQLite本身而言是非常非常有協助的。最基本的一條就是,它讓我們學習SQLite的過程更加輕鬆愉快。言歸正傳吧,在SQLite的官方下載網站,提供了支援多個平台的命令列工具,使用該工具我們可以完成大多數常用的SQLite操作,就像sqlplus之於Oracle。以下列表給出了該工具的內建命令: 命令名 命令說明 .help 列出所有內建命令。
Time of Update: 2017-01-18
一、Attach資料庫: ATTACH DATABASE語句添加另外一個資料庫檔案到當前的串連中,如果檔案名稱為":memory:",我們可以將其視為記憶體資料庫,記憶體資料庫無法持久化到磁碟檔案上。如果操作Attached資料庫中的表,則需要在表名前加資料庫名,如dbname.table_name。最後需要說明的是,如果一個事務包含多個Attached資料庫操作,那麼該事務仍然是原子的。見如下樣本: 複製代碼 代碼如下: &
Time of Update: 2017-01-18
一、建立索引: 在SQLite中,建立索引的SQL文法和其他大多數關係型資料庫基本相同,因為這裡也僅僅是給出樣本用法: 複製代碼 代碼如下: sqlite> CREATE TABLE testtable (first_col integer,second_col integer); --建立最簡單的索引,該索引基於某個表的一個欄位。
Time of Update: 2017-01-18
一、彙總函式: SQLite中支援的彙總函式在很多其他的關係型資料庫中也同樣支援,因此我們這裡將只是給出每個聚集合函式的簡要說明,而不在給出更多的樣本了。這裡還需要進一步說明的是,對於所有彙總函式而言,distinct關鍵字可以作為函數參數欄位的前置屬性,以便在進行計算時忽略到所有重複的欄位值,如count(distinct x)。 函數 說明 avg(x)
Time of Update: 2017-01-18
一、概述: 在SQLite提供的C/C++介面中,其中5個APIs屬於核心介面。在這篇部落格中我們將主要介紹它們的用法,以及它們所涉及到的核心SQLite對象,如database_connection和prepared_statement。相比於其它資料庫引擎提供的APIs,如OCI、MySQL API等,SQLite提供的介面還是非常易於理解和掌握的。 二、核心對象和介面: 1.
Time of Update: 2017-01-18
一、簡介: SQLite是目前最流行的開源嵌入式資料庫,和很多其他嵌入式儲存引擎相比(NoSQL),如BerkeleyDB、MemBASE等,SQLite可以很好的支援關係型資料庫所具備的一些基本特徵,如標準SQL文法、事務、資料表和索引等。事實上,儘管SQLite擁有諸多關係型資料庫的基本特徵,然而由於應用情境的不同,它們之間並沒有更多的可比性。下面我們將列舉一下SQLite的主要特徵: 1).
Time of Update: 2017-01-18
大部分資料庫在進行字串比較的時候,對大小寫是不敏感的。但是,最近使用SQLite的時候,卻發現它的情況恰好相反。假設表User的結構和值如下: UserName 1 User1 執行下面的SQL語句:複製代碼 代碼如下:SELECT * FROM [User] WHERE UserName =
Time of Update: 2017-01-18
一、什麼是WAL?WAL的全稱是Write Ahead Logging,它是很多資料庫中用於實現原子事務的一種機制,SQLite在3.7.0版本引入了該特性。二、WAL如何工作?在引入WAL機制之前,SQLite使用rollback journal機制實現原子事務。rollback