iOS:SQL,iossql

來源:互聯網
上載者:User

iOS:SQL,iossql

iOS雖然也有SQL,不過用得少(至少我目前是這樣)。大資料直接丟給後台,小的用Plist足矣。

再退一步,有FMDB,原生的也用得少了。

下面是之前學SQL時候的筆記。

 

1、建立

1-1)、開啟: 資料庫指標、儲存地址

sqlite3_open([path UTF8String], &new_sql)

1-2)、建立: 資料庫指標、建立指令、錯誤指令

NSString *command = @"CREATE TABLE IF NOT EXISTS UserTable (username TEXT primary key,password TEXT,age TEXT)";sqlite3_exec(new_sql, [command UTF8String], NULL, NULL, &new_error)

1-3)、關閉: 資料庫指標

sqlite3_close(new_sql);

 

2、插入

2-1)、開啟: 資料庫指標、儲存地址

同上

2-2)、插入:

//插入:指令NSString *op = @"INSERT INTO UserTable(username,password,age) VALUES (?,?,?)";//準備: 資料庫指標、插入指令、控制代碼sqlite3_prepare(new_sql, [op UTF8String], -1, &new_stmt, NULL);//綁定: 控制代碼、位置、資料sqlite3_bind_text(new_stmt, 1, [name UTF8String], -1, NULL);//下一步: 控制代碼sqlite3_step(new_stmt);//結束: 控制代碼sqlite3_finalize(new_stmt);

2-3)、關閉: 資料庫指標

同上

 

3、刪除

3-1)、開啟: 資料庫指標、儲存地址

同上

3-2)、刪除:

//刪除指令:NSString *op = @"DELETE FROM userTable WHERE userName = ?";//準備: 資料庫指標、刪除指令、控制代碼sqlite3_prepare(new_sql, [op UTF8String], -1, &new_stmt, NULL);//綁定: 控制代碼、位置、資料sqlite3_bind_text(new_stmt, 1, [name UTF8String], -1, NULL);//下一步: 控制代碼sqlite3_step(new_stmt);//結束: 控制代碼sqlite3_finalize(new_stmt);

3-3)、關閉: 資料庫指標

同上

 

4、選擇

4-1)、開啟: 資料庫指標、儲存地址

同上

4-2)、選擇:

//選擇指令:1)NSString *op = @"SELECT username,password,age From UserTable where username = ?";2)NSString *op = @"SELECT username,password,age From UserTable";//準備: 資料庫指標、選擇指令、控制代碼sqlite3_prepare(new_sql, [op UTF8String], -1, &new_stmt, NULL);//綁定: 控制代碼、位置、資料sqlite3_bind_text(new_stmt, 1, [selet_name UTF8String], -1, NULL);//下一步: 控制代碼sqlite3_step(new_stmt);//遍曆:while (result == SQLITE_ROW){    char *c_name = (char *)sqlite3_column_text(new_stmt, 0);    char *c_password = (char *)sqlite3_column_text(new_stmt, 1);    char *c_age = (char *)sqlite3_column_text(new_stmt, 2);    NSString *s_name = [NSString stringWithCString:c_name encoding:NSUTF8StringEncoding];    NSString *s_password = [NSString stringWithCString:c_password encoding:NSUTF8StringEncoding];    NSString *s_age = [NSString stringWithCString:c_age encoding:NSUTF8StringEncoding];    NSLog(@"%@,%@,%@",s_name,s_password,s_age);    result = sqlite3_step(new_stmt);    //NSLog(@"%d",new_stmt);}//結束: 控制代碼sqlite3_finalize(new_stmt);

4-3)、關閉: 資料庫指標

同上

 

附錄:

5、插入變體:更新

@"UPDATE UserTable SET password = ? where username = ?"

 

6、選擇變體:排序

@"SELECT * FROM userTable ORDER BY age ASC(DESC)"

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.