数据存储

一. 数据存储类型:

1. plist (NSArray, NSDictionary);

2. Preference(偏好设置\NSUserDefault);

3. NSCoding (NSKeyedArchiver\NSKeyUnarchiver); ---- 存储小数据, 读取不是很方便

4. SQLite3数据库--- c 语言, 轻量级

5. CoreData --- 基于SQLite3, OC版本, 庞大

二. SQLite

1. 术语: 

  • table (表)
  • Column(字段\ 列)
  • row\record(行\ 记录)

2. 数据库存储数据的步骤

  • 新建表(table)
  • 添加字段(column)列, 属性
  • 添加记录(row, record)行, 数据

3. 工具

  • Navicat 

  4. 数据类型

  • integer -- 字符串
  • real  --- 浮点
  • text  --- 字符串
  • blob  --- 二进制 

  [注意]: 为了规范, 最好指定 数据类型 (实际上, 数据库是没有数据类型的)

  5. 语句种类

  •  数据定义语句 (DDL - Data Definition Language)
  •  包括: create 和 drop 等操作
  •  数据操作语句 (DML - Data Manipulation Language)
  •  包括: insert update delete -- 

    insert into t_shop(name, price, left_count) values ('iphone999', '9391.000000', '655');

  •  数据查询语句 (DQL - Data Query Language)
  •  包括: select

*  SQL 语句

 *

 * SQL语言(structure query language) --- 结构化查询语言  (对结构化数据库中的数据, 进行定义和操作)

 1. 不区分大小写

 2. 以分号结尾

 3. 有关键字

 

 1. 语句种类

 数据定义语句 (DDL - Data Definition Language)

 包括: create 和 drop 等操作

 

 数据操作语句 (DML - Data Manipulation Language)

 包括: insert update delete

 

 数据查询语句 (DQL - Data Query Language)

 包括: select

 

 2. 条件语句

 

 CREATE TABLE IF NOT EXISTS t_myfriend (id integer PRIMARY KEY, name text, age integer); // 主键

 

 UPDATE t_shop SET left_count = 0 WHERE price < 1000;

 SELECT * FROM t_shop WHERE left_count > 800;

 DELETE FROM t_shop WHERE left_count < 500 AND price < 1000;

 

 SELECT t.name From t_shop t; // 别名

 SELECT count(*) 剩余数量 from t_shop WHERE left_count > 800;

 

 SELECT * from t_shop ORDER BY left_count DESC; // 排序 ASC

 SELECT * from t_shop ORDER BY left_count DESC, price ASC;

 

 

 SELECT * from t_shop LIMIT 4, 8; // 跳过前面的4条, 取8条数据 --- 后面的8, 可用作分页使用

 SELECT * FROM t_shop ORDER BY price DESC LIMIT 10, 10; // 取价格最高的10条

 

 // not null  ----非空   约束

 // unique --- 唯一

 // default  -- 默认

 

 

 

 

 

 条件语句的常见格式

 where 字段 = 某个值 ;   // 不能用两个 =

 where 字段 is 某个值 ;   // is 相当于 =

 where 字段 != 某个值 ;

 where 字段 is not 某个值 ;   // is not 相当于 !=

 where 字段 > 某个值 ;

 where 字段1 = 某个值 and 字段2 > 某个值 ;  // and相当于C语言中的 &&

 where 字段1 = 某个值 or 字段2 = 某个值 ;  //  or 相当于C语言中的 ||

 

 DELETE FROM t_shop WHERE left_count = 0;

 DELETE FROM t_shop WHERE left_count = 0;

 DELETE FROM t_shop WHERE left_count < 500 OR price < 2000;

posted @ 2015-09-29 01:45  guangleijia  阅读(159)  评论(0编辑  收藏  举报