sqlite:關(guān)系型數(shù)據(jù)庫以表格的形式存儲
在sqlite中類似表格的表頭的位置叫做《字段》(字段名不能重復(fù))字段是用來查找數(shù)據(jù)的關(guān)鍵字(每張表格的關(guān)鍵字不能重名)
可以通過這張表的任意一個字段查找到對應(yīng)的數(shù)據(jù)(橫著)
在字段的下面是每條數(shù)據(jù)(存儲的內(nèi)容)
sqlite中可以有多個表表與表之間是通過主鍵和外鍵關(guān)聯(lián)起來的
操作數(shù)據(jù)庫:
1丈屹、sql語句(structured query language)結(jié)構(gòu)化查詢語言
sql語句:結(jié)構(gòu)化查詢語言組成的一條語句
2、操作數(shù)據(jù)庫的函數(shù)(通過C語言來操作的)
1匪补、sql語句
常用關(guān)鍵字:select睁冬、insert祸穷、update、delete、from、create齿坷、where、desc数焊、order永淌、by、group佩耳、table遂蛀、drop、alter干厚、view李滴、index等等
類型:
integer:整型值
real:浮點值
text:文本字符串
blob:二進制數(shù)據(jù)
功能性:建表刪表
建表:create(創(chuàng)建) table(表)
建表公式:create table表名(字段名類型,字段名類型);
如果不存在這個表就去創(chuàng)建:create
table if not exists表名(字段名類型,字段名類型);
例子:create tableifnot exists user (name
text, age integer)
讓ID自動增長把某個字段設(shè)置成主鍵并讓它自動增長(primary key autoincrement)
例子:create tableifnot exists user (idinteger primary key autoincrement, name text, age integer)
刪表:drop(刪除) table
刪表公式:drop table表名
如果表存在就去刪除:drop table if exists user
操作:增刪改查
增:insert into values
公式:insert into表名(字段名) values(值)
刪:delete from
公式:delete from表名where字段= '值';
改:update from where set
公式:update 表名 set 字段名= '新值' where字段名= '值';
查:selectfrom where
公式:
1、查詢某條數(shù)據(jù):select字段(整條數(shù)據(jù)所有包含的字段)
from表名where字段like ?;
2蛮瞄、查詢整個表:select
* from表名
步驟:
1所坯、核對sql語句的合法性
2、綁定要查詢的數(shù)據(jù)
3挂捅、開始查詢
ios操作數(shù)據(jù)的函數(shù)步驟
1芹助、導(dǎo)入sqlite3這個框架*****
2、打開闲先、關(guān)閉數(shù)據(jù)庫
sqlite3_open(char*類型的文件路徑,數(shù)據(jù)庫對象的內(nèi)存地址)
sqlite3_close(數(shù)據(jù)庫對象)
3周瞎、(如果沒有建表需要建表)①增刪改對應(yīng)的操作
對表格進行操作:sqlite3_exec(數(shù)據(jù)庫對象, [@"建表(增刪改)的語句"UTF8String]char*類型的sql語句(要干什么),NULL,NULL,char*類型的字符串(如果有錯誤會返回一個錯誤信息))
②查對應(yīng)的操作
1、核對sql語句的合法性
2饵蒂、綁定要查詢的數(shù)據(jù)
3声诸、開始查詢、分離查詢結(jié)果
使用完數(shù)據(jù)庫及時關(guān)閉數(shù)據(jù)庫
1退盯、核對sql語句的合法性
sqlite3_stmt
*stmt;結(jié)果集查詢的數(shù)據(jù)放入里面
sqlite3_prepare_v2(數(shù)據(jù)庫的對象,
sql語句,查詢語句的長度(-1),結(jié)果集的內(nèi)存地址,NULL)
2彼乌、綁定要查詢的數(shù)據(jù)
sqlite3_bind_text(數(shù)據(jù)集的對象,綁定的第幾個問號,要查詢的內(nèi)容(char*),要查詢內(nèi)容的長度,NULL)
3、開始查詢渊迁、分離查詢結(jié)果
while(sqlite3_step(stmt) ==SQLITE_ROW) {
sqlite3_column_查詢的類型(結(jié)果集的對象,列數(shù))
}