//_id integer primary key autoincrement 设置自增长主键
NSString * path = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents/sql.db"];
//指定数据存储路径
//FMDatabase 管理数据的类(增 删 改 查)
FMDatabase * dataBase = [[FMDatabase alloc] initWithPath:path];
//open 打开数据库/文件 如果文件存在,就是打开 如果文件不存在就是创建
bool res = [dataBase open];
if (res) {
NSLog(@"文件创建成功");
//创建表
NSString * sql = @"CREATE TABLE IF NOT EXISTS userInfo(name text,age interger)";
//CREATE TABLE IF NOT EXISTS
//userInfo 表名
//()内要存储的数据的个数以及类型
//text 字符串类型 varchar 字符串 interger整形
//执行sql语句 增删改都使用这个方法
BOOL res = [dataBase executeUpdate:sql];
if (res) {
NSLog(@"创建表成功");
}else{
NSLog(@"创建表失败");
}
//添加数据
NSString * insertSql = [NSString stringWithFormat:@"insert into userInfo (name,age) values(?,?)"] ;
BOOL ret1 = [dataBase executeUpdate:insertSql,@"name",@12];
BOOL ret1_1 = [dataBase executeUpdate:insertSql,@"name1",@12];
BOOL ret1_2 = [dataBase executeUpdate:insertSql,@"name2",@12];
if (ret1 && ret1_1 && ret1_2) {
NSLog(@"插入数据成功");
}else{
NSLog(@"插入数据失败");
}
//修改数据
NSString * updateSql = @"update userInfo set name=?,age=? where name=?";
BOOL ret3 = [dataBase executeUpdate:updateSql,@"name1",@200,@"0"];
if (ret3) {
NSLog(@"修改成功");
}
else{
NSLog(@"修改失败");
}
//删除
NSString *deleteSql = @"delete from userInfo where name=?";
BOOL ret4 = [dataBase executeUpdate:deleteSql,@"name1"];
if (ret4) {
NSLog(@"删除成功");
}else{
NSLog(@"删除失败");
}
//查看数据
NSString * selectSql = @"select * from userInfo";
FMResultSet * rs = [dataBase executeQuery:selectSql];
//next逐条查询 查到了就查询下一条
// BOOL ret2 = [rs next];
while ([rs next]) {
NSString * name = [rs stringForColumn:@"name"];
NSInteger age = [rs intForColumn:@"age"];
NSLog(@"%@",name);
}
}else{
//lastErrorMessage 创建/打开数据库失败的错误信息
NSLog(@"%@",dataBase.lastErrorMessage);
}
iOS开发 - FMDatabase 使用
最新推荐文章于 2023-11-05 18:59:51 发布