/*
integer 整形值
real 浮點型
text 文字字串
blob 二進位制資料(比如檔案)
******
**ddl資料定義語句**
****
****
//建立**
create table t_class(id integer primary key autoincrement,name text);
//如果不存在就建立
create table if not exists t_class(id integer primary key autoincrement,name text);
//刪除**
drop table t_class;
//如果存在則刪除
drop table if
exists t_class;
******
**dml資料操作語句**
****
****
//插入資料
insert into t_class (name) values ('lala');
insert into t_class (name ,age) values ('lala',16);
//更新資料(全部更改)
update t_class set name = 'lalala';
//根據條件更改
update t_class set name = ' 啦啦啦' whrer name = ' lalala';
//刪除資料(全部資料)
delete from t_class;
//刪除 name 為啦啦啦的資料
delete from t_class name = '啦啦啦';
******
**dql資料查詢語言**
****
****
//查詢資料
select * from t_class;
select age from t_class;
select age,name from t_class;
select age from t_class where age<60
or id <3;
select age from t_class where age<60
and id <3;
//降序排序
select * from t_class where age>50 order by age desc;
//公升序排序(預設)
select * from t_class where age>50 order by age ;
******
****
**分頁查詢**
****
****
****
****
*****
//取前三條
select * from t_class where age>50 order by age desc limit 3;
//跳過第一條開始取三條
select * from t_class where age>50 order by age desc limit 1,3;
******
****
***簡單的約束**
****
****
****
****
*** not null:規定欄位的值不能為 null
unique:規定欄位的值必須唯一
default:指定欄位的預設值
//name 不能為空,age 的預設值為1
create table t_student(id integer primary key autoincrement,name text not null unique,age integer not null default 1);
******
****
***外來鍵約束**
****
****
****
****
*** 利用外來鍵約束可以用來建立表與表之間的聯絡
外來鍵的一般情況是:一張表的某個字段,引用著另一張表的主鍵字段
create table t_student (id integer primary key autoincrement,name text,age integer,class_id integer,constraint fk_t_student_class_id_t_class_id foreign key(class id) references t_class[id]);
t_student 表中有乙個叫做fk_t_student_class_id_t_class_id的外來鍵
這個外來鍵的作用是用 t_student 表中的 class_id 字段引用 t_class 表的 id 字段
******
****
***表連線查詢**
****
****
****
****
*** //查詢兩張表中的 name
select
s.name sname ,c.name cname from t_student s,t_class c where s.class_id = c.id;
給 t_student 取別名為 s
*/
viewcontroller.m#import "viewcontroller.h"
#import
#import "sqlitetool.h"
#import "student.h"
@inte***ce
viewcontroller ()
@property (nonatomic,assign)sqlite3 *db;
@end
@implementation
viewcontroller
- (ibaction)insert:(id)sender
- (ibaction)delete:(id)sender
- (ibaction)update:(id)sender
//查- (ibaction)select:(id)sender
}- (void)viewdidload
- (void)didreceivememorywarning
@end
sqlitetool.h@inte***ce
sqlitetool : nsobject
//插入、刪除、修改
+ (void)execwithsql:(nsstring *)sql;
+ (nsarray *)selectwithsql:(nsstring *)sql;
@end
sqlitetool.m#import "sqlitetool.h"
#import
#import "student.h"
@implementation
sqlitetool
static sqlite3 *_db;
//初始化資料庫
+ (void)initialize
else
}+ (void)execwithsql:(nsstring *)sql
else
}+ (nsarray *)selectwithsql:(nsstring *)sql
}return marray;
}@end
student.h#import
@inte***ce
student : nsobject
@property(nonatomic,copy)nsstring *name;
@property(nonatomic,assign)int age;
+(instancetype)studentwithname:(nsstring *)name age:(int)age;
@end
student.m#import "student.h"
@implementation
student
+(instancetype)studentwithname:(nsstring *)name age:(int)age
@end
SQLite資料庫的簡單讀寫操作
安卓系統自帶sqlite資料庫,sdk中對sqlite的操作由sqlitedatabase完成,涉及到的類有如下幾個 1 sqlitedatabase 代表資料庫本身,支援對資料的標準sql操作 2 cursor 用來實現對查詢結果集的隨機讀寫 下面 實現如何開啟資料庫,並建立資料表 sqlited...
SQLite 簡單的資料庫
1.建立資料庫和表 引數1.資料儲存的檔案位置 引數2.檔案建立工廠類,這裡不需要,寫為空 db sqlitedatabase.openorcreatedatabase data data com.coderqi.android2 lesson 04 database database.db nul...
資料庫操作 SQLite
sqlite 是乙個輕量級的關聯式資料庫。sqlite最初的設計目標是用於嵌入式系統,它占用資源非常少,在嵌入式裝置中,只需要幾百k的記憶體就夠了,目前應用於android ios windows phone等智慧型手機。ios 使用時sqlite,只需要加入 libsqlite3.dylib 依賴...