數(shù)據(jù)庫(kù)DataBase
就是很多表柬批。
只能存放 NSString,NSNumber,NSData 這三種類(lèi)型的數(shù)據(jù)并闲。
黃金組合:
MSSQL + Windows + iis + .net(收費(fèi)的)
MySQL + Linux + php + Apache (免費(fèi)的)
輕量級(jí)數(shù)據(jù)庫(kù)笛谦,SQLite3Access
數(shù)據(jù)庫(kù)里不能存放c類(lèi)型型雳,只能存放OC類(lèi)型奕锌,只存放NSString,NSNumber 和data (二進(jìn)制)數(shù)據(jù)倡勇。例如 存放int行數(shù)據(jù)的話(huà)逞刷,要 (int age = 5; NSNumber numberWithInt:age])
終端中:
創(chuàng)建文件夾: mkdir 文件夾名
創(chuàng)建表:
create table 表名(字段一,字段二);
create table USER(uid,name);
create table if not exists USER(uid,name);
自增的表:
create table if not exists WUGONG(wid integer primary key autoincrement,,name,uid);
創(chuàng)建 WUGONG表,sid類(lèi)型為integer妻熊,自增夸浅。
插入信息:
insert into 表名(字段一,字段二)values(值一,值二);
insert into USER(uid,name)values(0,'江志磊');
insert into USER values(1,'呂志軒');
insert into USER(uid) values(1);
(在Xcode中如果數(shù)據(jù)庫(kù)表的某一項(xiàng)為空時(shí),給它一個(gè)空的字符串扔役,不能給空指針帆喇,會(huì)崩)
刪除表:
delete from USER;刪除表的所有信息
delete from 表名 where 條件;
delete from USER where uid=1;刪除 uid=1的項(xiàng)。 where后面跟的是條件亿胸,可以靈活的寫(xiě)坯钦。
drop table 表名;刪除表。
修改信息:
update 表名 set 字段='新值' where 條件;
update USER set name='呂志軒' where uid=2;
查詢(xún)表:
查詢(xún)?nèi)孔侄?/p>
select * from 表名;
select * from USER;
select * from 表名 limit n;拿出前n條信息
select * from USER limit 2;拿出前兩條信息
select 字段 from 表名侈玄;查詢(xún)表中該字段的所有信息婉刀。
select uid,name from USER;查詢(xún) uid和name字段。
條件查詢(xún)
select * from USER where uid>0;
select * from USER where uid>0 and uid<2;
select 字段from 表名 order by uid;查詢(xún)并且按照hid進(jìn)行pai'xu排序
select * from USER order by uid asc;查詢(xún)表序仙,順序排序突颊。desc,倒序。
select count(*)from USER;查詢(xún)個(gè)數(shù)
select sum(uid) from USER;求 hid的和
多表查詢(xún):
select USER.uid,USER.name,WUGONG.name from USER,WUGONG where USER.uid=WUGONG.uid;
NSString * path = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents/data.db"];NSHomeDirectory() stringByAppendingPathComponent: 拼接路徑,若NSHomeDirectory()后面沒(méi)有/律秃,系統(tǒng)會(huì)自動(dòng)加上呈昔。
使用數(shù)據(jù)庫(kù):
//先判斷數(shù)據(jù)庫(kù)是不是有空指針
if (_nameField.text.length < 1 || _scoreField.text.length < 1 || _imageView.image == nil) {
return;
}
//打開(kāi)數(shù)據(jù)庫(kù)
BOOL res = [_db open];
if (res == NO) {
return;
}
//如果表不存在,創(chuàng)建表
res = [_db executeUpdate:@"create table if not exists USER(name,score,image)"];
if (res == NO) {
[_db close];
NSLog(@"創(chuàng)建失敗");
return;
}
增友绝;
刪堤尾;
改;
查迁客;
//關(guān)閉數(shù)據(jù)庫(kù)
[_db close];