iOS中的数据存储方式
plist存储
coreData存储
NSCoding(NSkeyedArchiver,NSkeyedUnarchiver)
SQLite3
CoreData
Sqlite 是一款轻型的嵌入式数据库,占用资源非常的低,几百k内存就够了
处理速度比Mysql postGreSql快多了
数据库是组织 存储和管理数据的仓库
数据库有两种 关系型数据库和对象型数据库
数据库和excel很相似,以表为单位
步骤
创建文件
建立表
建立字段
添加数据
删除数据
删除表
navicat是数据库管理软件
利用navicat是一款数据库管理软件
SQL 结构化查询语言
SQL是对关系型数据库中的数据进行操作和管理的语言
SQL 语法简单,好学好用
SQL中的字段不区分大小写 ,每条语句都以;结尾
SQL中的常用关键字有
select,ubsert,update,delete,from,create,where,desc,order,by,group,table,alter,view,index等
数据库不能用系统关键字来命名表面和字段
格式
create table 表名(字段名1,字段名 2, 字段名3)
create table if not exists 表名
SQLite数据类型 integer 整型值 real 浮点值 text 文本字符串 blob二进制数据
实际上SQLite是无类型的
就算声明为integer类型,还是能存储字符串文本(主键除外)
为了保持良好的编程规范,方便程序员之间的交流,编写建表语句的时候,最好每个字段加上具体的类型
drop表名 drop table if exists
数据库的常见语句的常见格式
where 字段 = 某个值 ; // 不能用两个 =
where 字段 is 某个值 ; // is 相当于 =
where 字段 != 某个值 ;
where 字段 is not 某个值 ; // is not 相当于 !=
where 字段 > 某个值 ;
where 字段1 = 某个值 and 字段2 > 某个值 ; // and相当于C语言中的 &&
where 字段1 = 某个值 or 字段2 = 某个值 ; // or 相当于C语言中的 ||
//数据库起别名 3种方式
1 select 字段 别名 字段 别名 from 表名 别名
select 字段 别名 字段 as 别名 from 表名 as 别名
select 别名.字段名 ,别名。字段名 from 表名 别名
select name myname, age myage from t_student ;
给name起个叫做myname的别名,给age起个叫做myage的别名
select s.name, s.age from t_student s ;
给t_student表起个别名叫做s,利用s来引用表中的字段
查询 某个字段的数据
select count[字段] from 表名
按照某个字段的值,进行搜索排序
select * from 表名 order by 字段
默认按升序排序(由小到大)
select * from表名 order by age desc
select * from 表名 order by age asc 升序
也可以按照多个字段进行排序
select * from 表名 order by age asc , height desc
先 按照age 升序排序,后按照 height 降序排序
select * from 表名 where id > sinceID order by id desc limit 20
select * from 表名 limit 4,8
从第 4行开始 查询 8条数据
create table 表名 (id integer,name text not null unique,age default 1)
age 字段不能为null,并且为1
主键 就是用来标记某一条记录的唯一性
表连接查询
更新数据库
update t_student set name = 'aaa' where id = 1;
插入数据
insert into 表名 (name,age)values (‘yz’,18)
删除数据
delete from 表名
创建数据库
create table if not exists 表名 (id integer primary key autoincrement,name text, age integer)