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);
    }
}

暂时先写这么多了,比较晚了。有不对的地方请多多指教。

相关文章
相关标签/搜索