创建一个table表,名称是Person,里面有三个参数:id,name,age.其中,id是主键(唯一,且不能为空),
create table Person(id integer primary key, name text,age integer)
插入一条语句
insert into Person(name , age) values ("张三" , 18)
查询语句
select * from Person where id = 1
查询一个表的所有
select * from Person
更新表
update Person set name ="李四" where id = 1
删除某一条数据
delete from Person where id = 2
在项目中使用
首先要导入库
#import <sqlite3.h>
还要用到一个标签
{
sqlite3 *db;
}
- 1.在沙盒中创建表
- 1.获取沙盒路径
NSString *documentPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject];
- 2.创建数据库
NSString *sqlitePath = [documentPath stringByAppendingString:@"database.sqlite"];
- 3.打开数据库
int result = sqlite3_open(sqlitePath.UTF8String, &db);
- 4.判断是否打开了
if (result == SQLITE_OK) {
NSLog(@"打开成功");
} else {
NSLog(@"打开失败");
}
- 2.创建表
// sql语句
NSString *sqlString = @"create table Person (id integer, name text, age integer)";
// 执行语句
char *error = nil;
sqlite3_exec(db, sqlString.UTF8String, nil, nil, &error);
// 判断是否出现错误
if (error == nil) {
NSLog(@"创建表成功");
} else {
NSLog(@"创建表失败");
}
- 3.对数据库进行操作
- 1.插入数据
NSString *sqlString = @"insert into Person (id, name, age) values (1 '张三' , 18)";
char *error = nil;
sqlite3_exec(db, sqlString.UTF8String, nil, nil, &error);
// 判断是否出现错误
if (error == nil) {
NSLog(@"插入数据成功");
} else {
NSLog(@"插入数据失败");
}
- 2.更新数据
NSString *sqlString = @"update Person set 'name' = '李四' where id = 1";
char *error = nil;
sqlite3_exec(db, sqlString.UTF8String, nil, nil, &error);
// 判断是否出现错误
if (error == nil) {
NSLog(@"更新数据成功");
} else {
NSLog(@"更新数据失败");
}
- 3.删除数据
NSString *sqlString = @"delete from Person where id = 1";
char *error = nil;
sqlite3_exec(db, sqlString.UTF8String, nil, nil, &error);
// 判断是否出现错误
if (error == nil) {
NSLog(@"删除数据成功");
} else {
NSLog(@"删除数据失败");
}
- 4.查询数据
NSString *sqlString = @"select * from Person";
// 准备sql语句
// 数据库管理指针
sqlite3_stmt *stmt = nil;
sqlite3_prepare(db, sqlString.UTF8String, -1, &stmt, nil);
// 单步执行语句
while (sqlite3_step(stmt) == SQLITE_ROW) {
int ID = sqlite3_column_int(stmt, 0);
const unsigned char *name = sqlite3_column_text(stmt, 1);
NSString *nameString = [NSString stringWithUTF8String:(const char *)name];
int age = sqlite3_column_int(stmt, 2);
NSLog(@"id:%d, name:%@, age:%d" ,ID, nameString, age);
}
// 释放
sqlite3_finalize(stmt);
- 4.操作完成之后,关闭数据库
// 关闭数据库
int result = sqlite3_close(db);
// 判断数据库是否关闭成功
if (result == SQLITE_OK) {
NSLog(@"关闭成功");
} else {
NSLog(@"关闭失败");
}
SQLite很简单,就这么多内容
网友评论