iOS開發 UI高階 SQLite資料庫

2021-07-16 18:08:23 字數 2629 閱讀 6617

sqlite資料庫介紹

1、資料持久化

· 資料持久化是通過檔案將資料儲存在磁碟上 

· ios下主要有四種資料持久化方式:

(1) 屬性列表 (2) 物件歸檔 (3)sqlite資料庫 (4)coredata

2、資料庫的相關概念

a) 資料庫(database)是按照資料結構來組織、儲存和管理資料的倉庫;資料庫管理系統是一種操縱和管理資料庫的大型軟體,用於建立、使用和維護資料庫

b) sqlite是一款輕型的資料庫,是一種關係型資料庫管理系統,它的設計目的是嵌入式 裝置中使用

c) sqlite占用資源非常低,適合移動裝置中使用,而且是開源免費的

3、sql語句

· 資料定義語言(ddl:data definition language)

· 其語句包括動詞create和drop

· 建立表、刪除表

· 資料操作語言(dml:data manipulation language)

· 其語句包括insert,update和delete,它們分別用於新增,修改和刪除表中的行

· 資料查詢語言(dql:data query language) 

· 其語句包括select,用於查詢資料

1. ddl語句

// 建立乙個資料表並開啟

create table 表名(欄位名1 字段型別1,欄位名2 字段型別2);

// 如果資料表已存在就直接開啟

create table if not exists 表名(欄位名1 字段型別1,欄位名2 字段型別2);

//**示例

create table mytable(id integer, name text, age inetger);

// 刪除資料表

drop table 表名;

2. dml語句

// 插入資料

insert into 表名(欄位1,欄位2) values(欄位1的值,欄位2的值);

如:insert into mytable(name, age) values(『tom』, 10);

注意:資料庫中的字串內容應該用單引號''括住

// 更新資料

update 表名 set 欄位1 = 欄位1的值,欄位2 = 欄位2的值;

如:update mytable set name = 『tom』, age = 20;

注意:這裡會將mytable表中所有記錄的name都改為tom,age都改為20

// 刪除資料

delete from 表名;

如:delete from mytable;

注意:這裡會將mytable表中所有記錄都刪掉

3. 條件dml語句

如果只想更新或者刪除某些固定的記錄,那就必須在dml語句後加上一些條件 

條件語句的格式如下:

where 字段 = 某個值 and 字段 > 某個值;

where 字段 = 某個值 or  字段 = 某個值;

4. dql語句

1、查詢格式:

select 欄位1,欄位2,...from 表名

select name, age from mytable;

2、查詢所有的字段

select * from 表名;

select * from mytable;

3、新增條件語句

select * from mytable where age > 10;

4、計算記錄的數量可以用count或者count(*)

select count(*) from mytable;

select count(age) from mytable where height < 1.60

5、查詢排序

a) 查詢出來的結果可以用order by進行排序

select * from mytable order by 字段;

如:select * from mytable order by age;

b) 預設是按照公升序排列,也可以變為降序排列

如:select * from mytable order by age desc;

select * from mytable order by age asc;

在xcode中使用資料庫時需要引入:libsqlite3.0

-(void)createdatabase

// 建立乙個資料表

nsstring *createtable = @"create table mytable (id integer primary key,name text not null,*** text default female,height float,eatmeat boolean)";

char *error = null;

// 定義執行結果

int excresult = sqlite3_exec(sqlite, [createtable utf8string], null, null, &error);

// 判斷建立語句是否執行

if (excresult !=sqlite_ok)

//4 關閉資料庫

sqlite3_close(sqlite);

}

ios開發 UI高階 HTTP協議

1 http協議的概念 全稱 超文字傳輸協議 瀏覽器和伺服器之間的通訊規則 http協議永遠都是客戶端發起請求,伺服器回送響應。2 響應包 請求包 客戶端傳送乙個http請求,是向伺服器提交了乙個http請求包 伺服器收到請求之後,向客戶端回應乙個http響應包 3 http請求常用方法 get 是...

ios開發 UI高階 間距設定

cell 之間的間隔 void setframe cgrect frame 如果我們發現設定了屬性的frame,但是屬性的frame並沒有變化,那麼就應該考慮系統的系統調節frame屬性 void awakefromnib 顯示高度等於顯示寬度乘以高度除以寬度 cgfloat picturew ma...

ios開發 UI高階 Cocoapods安裝過程

cocoapods是乙個負責管理ios專案中第三方開源庫的工具,開發ios專案不可避免地要使用第三方開源庫,cocoapods的出現使得我們可以節省設定和更新第三方開源庫的時間。通過cocoapods,我們可以將第三方的依賴庫統一管理起來,配置和更新只需要通過簡單的幾行命令即可完成。cocoapod...