iOS开发 UI高级SQLite数据库

    xiaoxiao2026-04-13  7

    SQLite数据库介绍 1、数据持久化 · 数据持久化是通过文件将数据存储在磁盘上  · iOS下主要有四种数据持久化方式: (1) 属性列表 (2) 对象归档 (3)SQLite数据库 (4)CoreData 2、数据库的相关概念 a) 数据库(Database)是按照数据结构来组织、存储和管理数据的仓库;数据库管理系统是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库 b) SQLite是一款轻型的数据库,是一种关系型数据库管理系统,它的设计目的是嵌入式 设备中使用 c) SQLite占用资源非常低,适合移动设备中使用,而且是开源免费的 3、SQL语句 · 数据定义语言(DDL:Data Definition Language) · 其语句包括动词CREATE和DROP · 创建表、删除表 · 数据操作语言(DML:Data Manipulation Language) · 其语句包括INSERT,UPDATE和DELETE,它们分别用于添加,修改和删除表中的行 · 数据查询语言(DQL:Data Query Language)  · 其语句包括SELECT,用于查询数据 1. DDL语句 // 创建一个数据表并打开 CREATE TABLE 表名(字段名1 字段类型1,字段名2 字段类型2); // 如果数据表已存在就直接打开 CREATE TABLE if not exists 表名(字段名1 字段类型1,字段名2 字段类型2); //代码示例 create table myTable(id integer, name text, age inetger); // 删除数据表 drop table 表名; 2. DML语句 // 插入数据 insert into 表名(字段1,字段2) values(字段1的值,字段2的值); 如:insert into myTable(name, age) values(‘tom’, 10); 注意:数据库中的字符串内容应该用单引号''括住 // 更新数据 update 表名 set 字段1 = 字段1的值,字段2 = 字段2的值; 如:update myTable set name = ‘tom’, age = 20; 注意:这里会将myTable表中所有记录的name都改为tom,age都改为20 // 删除数据 delete from 表名; 如:delete from myTable; 注意:这里会将myTable表中所有记录都删掉 3. 条件DML语句

    如果只想更新或者删除某些固定的记录,那就必须在DML语句后加上一些条件 

    条件语句的格式如下:

    where 字段 = 某个值 and 字段 > 某个值; where 字段 = 某个值 or  字段 = 某个值; 4. DQL语句 1、查询格式: select 字段1,字段2,...from 表名 select name, age from myTable; 2、查询所有的字段 select * from 表名; select * from myTable; 3、添加条件语句 select * from myTable where age > 10; 4、计算记录的数量可以用count或者count(*) select count(*) from myTable; select count(age) from myTable where height < 1.60 5、查询排序 a) 查询出来的结果可以用order by进行排序 select * from myTable order by 字段; 如:select * from myTable order by age; b) 默认是按照升序排列,也可以变为降序排列 如:select * from myTable order by age desc;

           select * from myTable order by age asc;

    在xcode中使用数据库时需要引入:libsqlite3.0

    -(void)createDataBase{ // 数据库的句柄对象 sqlite3 *sqlite = nil; // 数据库文件路径 NSString *dbPath = [NSHomeDirectory() stringByAppendingString:@"/Documents/myDataBase.db"]; int result = sqlite3_open([dbPath UTF8String], &sqlite); // 判断是否打开了数据库 if (result != SQLITE_OK) { NSLog(@"打开数据库失败"); } // 创建一个数据表 NSString *createTable = @"CREATE TABLE myTable (id integer PRIMARY KEY,name text NOT NULL,sex text DEFAULT female,height float,eatMeat boolean)"; char *error = NULL; // 定义执行结果 int excResult = sqlite3_exec(sqlite, [createTable UTF8String], NULL, NULL, &error); // 判断创建语句是否执行 if (excResult !=SQLITE_OK) { // 打印提示语句 NSLog(@"执行创建数据表的语句失败"); return; } //4 关闭数据库 sqlite3_close(sqlite); }

    转载请注明原文地址: https://ju.6miu.com/read-1308797.html
    最新回复(0)