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改:
不支持修改字段名;
不支持删除字段名;