窗外杭州迎來了今年的初雪,很棒。原本想配兩張朋友圈的照片,但只能傳200K如下的就不修了。直接記錄下本身接觸的SQLite3的入門吧,還好以前用過Oracle和MySQL,上手還蠻快的。sql
1、MAC OSX數據庫
首先,這裏說明下Mac已經將SQLite進行了預裝,啓動Terminal,輸入如下命令,按步驟來,呵呵。函數
新建數據庫文件夾,方便數據庫統一進行管理。ui
mkdir sqldatabase cd sqldatabase/
2. 啓動SQLite3並建立數據庫spa
sqlite3 test.db
這裏說明如下退出SQLite3的方式:".exit"或者".quit"
code
3. 查詢已有數據庫orm
".database"sqlite
4. 查詢當前數據庫中的表string
192:sqldatabase hansen$ sqlite3 test.db SQLite version 3.8.5 2014-08-15 22:37:57 Enter ".help" for usage hints. sqlite> .table mytable
5. 顯示格式的配置狀況
it
sqlite> .show echo: off eqp: off explain: off headers: off mode: list nullvalue: "" output: stdout separator: "|" stats: off width:
這些格式根據本身喜愛設置,例如.mode list和.mode column:查詢語句執行後以記錄爲行列出查詢結果(二者的區別在於list有分隔符,column沒有分隔符隔開),.mode.line:查詢語句執行後以字段爲行顯示。(我的是這麼理解的,呵呵)
sqlite> .mode list sqlite> select * from mytable ...> ; 1|vincent 2|tim sqlite> .mode line sqlite> select * from mytable; id = 1 value = vincent id = 2 value = tim sqlite> .mode column sqlite> select * from mytable; 1 vincent 2 tim sqlite> .headers on sqlite> select * from mytable; id value ---------- ---------- 1 vincent 2 tim
6. 查看當前數據庫中全部表的建表語句
sqlite> .schema CREATE TABLE mytable(id integer primary key, value text); CREATE TABLE iOStable(id integer primary key, value text);
7. 字段分隔符設置
sqlite> .separator * sqlite> select * from mytable; 1*vincent 2*tim sqlite>
2、iOS
建立一個iOS項目,第一件事就是導入libsqlite3.tdb庫。
2. 封裝好一些函數以便使用,例如獲取數據庫路徑、執行SQL語句函數等。
// 數據庫存放路徑 - (NSString *)pathForDB{ NSString *document = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject]; return [document stringByAppendingPathComponent:DatabaseName]; } // 執行SQL語句 - (void)execSQL:(NSString *)sql{ char *error = NULL; if( sqlite3_exec(db, [sql UTF8String], NULL, NULL, &error) != SQLITE_OK ){ NSLog(@"執行SQL語句出錯: %s", error); } }
暫時先寫這麼多了,比較晚了。有不對的地方請多多指教。