iOS mysql语句

2017-05-12  本文已影响83人  George2016

1.创建数据库

//数据库存放的路径
NSString *tempPath = [NSTemporaryDirectory() stringByAppendingPathComponent:@"temp.db"];
NSLog(@"path: %@", tempPath);
FMDatabase *db = [FMDatabase databaseWithPath:tempPath];

2.创建表

//创建一张名为Demo的表,并设置id为主键,字段为name的表
//插入一条name为@"Hello World"的数据
NSString *sql = @"create table Demo (id integer primary key autoincrement, name text);"
                 "insert into Demo (name) values ('Hello World');";

执行SQL语句

BOOL success = [db executeStatements:sql];

3.对数据库操作

3.1增:

给已存在的表插入一列

sql =   @"alter table Demo add column age integer;"
3.2删:

给已存在的表删除一列

由于SQLlite不支持drop方法,所以无法使用下面语句

sql =   @"alter table Demo drop column age;";

所以我们只能曲线救国:
1.根据原表创建一张新表
2.删除原表
3.将新表重名为旧表的名称

    sql = @"create table teacher as select id, name from Demo";
    BOOL success = [db executeStatements:sql];

    if (success) {
        sql = @"drop table if exists Demo";
        success = [db executeStatements:sql];
        
        if (success) {
            sql = @"alter table teacher rename to Demo";
            success = [db executeStatements:sql];
        }
    }
3.3改:

不支持修改字段名;
不支持删除字段名;

3.3查:
上一篇 下一篇

猜你喜欢

热点阅读