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
在線解答