iOS SQLite(数据库)
iOS - SQL
1>单利写法创建方式 只有一个对象
// 单利不能够被释放哦,内存管理中
要使用数据库第一步要导入一个库<sqlite3.h>
注意这里选择库最好选择sqlite3.0thd, 因为它是sqlite3.h的替身如果不小心删除的话只会删除替身 不会删除其本身
先从数据库语句-SQL语句
- 在程序运行过程中,要想操作(增删改查,CRUD)数据库中的数据,必须使用SQL语句
- SQL语句不区分大小写,且语句结束要写“分好---。”
- SQL- 常用关键字 select、insert、update、delete、from、create、where、desc、order、by、group、table、alter、view、index,autoincrement等等
数据库中不可以使用关键字来命名表、字段
SQL-基本操作
1 创建表
creat table 表名(字段名1 字段类型1,字段名2 字段类型2,...)
create table if not exists 表名(字段名1 字段类型1,字段名1,字段名2,字段类型2)
示例
creat table t_student (id integer ,name text,age integer, score, real);
2 字段类型
SQLite将数据划分为以下几种存储类型
integer:整形值
text:浮点值
text:文本字符串
blob:二进制数据(比如文件)
auto increment 自增字段,
注意:实际上SQLite是无类型的,就算声明integer类型 结果还是可以存储字符串(主键除外)
auto increment 自增字段,默认如果填入null,值会从1开始如果填入其他值,会从其他值开始,例填入110,值会从110 开始计算,并进行存储存储在sqlite_sequence中
键表时申明啥类型或者不声明类型都可以, 也就意味着创表语句可以这么写:
create table t_student(name,age);
为了保持良好的编程规范、方便程序员之间的交流,编写建表语句最好加上每个字段的具体类型
3 删表
格式
drop table 表名;
drop table if exists 表名
如
drop table t_student;
插入数据(insert)
格式insert into表名(字段1,子段2,。。。)values(字段1的值,字段2的值)
如
insert into t_student(name,age)values(‘hx’,0);
注意数据库中的字符串内容应该用单引号‘ ’括住
5 更新数据(update)
格式
update表名set字段1 = 字段1的值,字段2 = 字段2的值
如
update t_student set name = ‘jack’,age =30;
注意 上面会将t_student表中所有记录的name都改为Jack age都改为30
6 删除数据(delete)
格式delete from表名;
如
delete from t_student;
注意
会将t_student表中所有记录都删除掉
7条件语句
如果只想更新或者伤处某些固定的记录, 那就必须在DML语句后面上加上一些条件条件语句的常见格式
where 字段 = 某个值;//不能用两个=
where 字段!=某个值;
where 字段is not 某个值;// is not 相当于!=where字段>某个值
where 字段1 = 某个值 and 字段2 > 某个值 ; // and相当于C语言中的 && where 字段1 = 某个值 or 字段2 = 某个值 ; // or 相当于C语言中的 ||
8select
格式
select * from 表名数值1, 数值2
例
select * from t_student 1,3;
循环结束后销毁对象
sqlite3_finalize(stmt)
希望可以帮助大家
讨论iOS技术、提些意见➕QQ : 251099939
在线解答