关于数据库的浅显认知#
-什么是数据库?
-数据的集散地,能够有效的存储和管理数据
-关系型数据库:关系型数据库:1. 用二维表组织数据; 2. 结构化查询语言(SQL - Structured Query Language)
-表:行表示一条记录
-列表示一个字段
-主键:能够唯一标识一条记录的字段
-外键:其他表的主键(外来的主键)
轻量级SQL的使用##
-DDL - 数据定义语言 create / drop / alter
-DML - 数据操作语言 insert / delete / update
-DQL - 数据查询语言 select
-DCL - 数据控制语言 grant / revoke
下面我们用一个列子具体演示一下sql的使用##
-第一步,创建一张表,列入穿件一张账目记录的表
create table TbStudent --(前缀表示类型)
(
stuid integer primary key, --设置主键primary key
stuname varchar(20) not null, --设置姓名字符可变20个字符,后面定义不能为空
stusex char(1) default'男',
stuaddr varchar(50), --允许为空
stubirth date —(最后一项不打逗号)
); --分号表示据结束
-使用第三方库FMDB,在xcode中创建如下
//创建数据库表
[_fmdb executeUpdate:@"create table TbStudent(stuid integer primary key,stuname varchar(20) not null,stusex char(1) default'男',stuaddr varchar(50),stubirth date);"];
-修改信息,例如,添加列
-alter table TbStudent add stubirth date;
-插入信息
-nsert into TbStudent values(1001,'***','男','云南某处','1980-11-28');
-查询所有行所有列
-select * from TbStudent;
-删除数据
-delete from TbStudent where stuid=1003;
-更新数据,修改数据
-update TbStudent set stuaddr='四川绵阳',stubirth='1990-4-5' where stuid=1002;
-一般来说程序中有增删改以后就能应付一些轻量级的数据应用了
一点点正则表达式的用法#
//创建数据库表
//方括号内表示任取其一,花括号表示限制
//NSString *regex=@"[_a-zA-Z0-9]{6,20}";
//\w代表字母数字下滑线,但在oc中要两个下划线,第一根表示转义字符
// NSString *regex=@"\\w{6,20}";
// NSString *tel=@"13345678900";
// NSString *regex1=@"1[345678][0-9]{9}";
//大写的\D表示非数字 ,[^345678]表示不能是346578
// NSString *regex1=@"1[345678]\\d{9}";
NSString *qq=@"123456123456";
NSString *regex=@"[1-9][0-9]{4,11}";
NSPredicate *predicate=[NSPredicate predicateWithFormat:@"SELF MATCHES %@",regex];
if ([predicate evaluateWithObject:qq]) {
NSLog(@"有效!!!!");
}else{
NSLog(@"卵了");
}