Mac OSX下SQLite3的入門級使用

窗外杭州迎來了今年的初雪,很棒。原本想配兩張朋友圈的照片,但只能傳200K如下的就不修了。直接記錄下本身接觸的SQLite3的入門吧,還好以前用過Oracle和MySQL,上手還蠻快的。sql

1、MAC OSX數據庫

首先,這裏說明下Mac已經將SQLite進行了預裝,啓動Terminal,輸入如下命令,按步驟來,呵呵。函數

  1. 新建數據庫文件夾,方便數據庫統一進行管理。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);
    }
}

暫時先寫這麼多了,比較晚了。有不對的地方請多多指教。

相關文章
相關標籤/搜索