数据库FMDB-sql
1、首先要先导入第三方类库FMdatabase。
2、获得存放数据库文件的沙盒地址。
#pragma mark - 创建数据库
- (void)createAndInitDatabase {
NSString *path = [NSString stringWithFormat:@"%@/Documents/test.db",NSHomeDirectory()];
//如果数据库文件存在,直接打开,如果不在,则创建
_database = [[FMDatabase alloc] initWithPath:path];
if (!_database.open) {
NSLog(@"打开失败");
return;
}
NSLog(@"打开成功");
//创建
NSString *sql = @"create table if not exists stuInfo(sid varchar(32),username varchar(32),password varchar(32))";
//执行
//注意:执行sql查询语句使用executeQuery
//执行非查询语句使用executeUpdata方法
BOOL b = [_database executeUpdate:sql];
NSLog(@"创建表 %d",b);
}
#pragma mark - 插入数据
- (void)insertData {
NSString *sid = @"01";
NSString *userName = @"dage";
NSString *password = @"1234";
//sql执行,使用代替变化的数据
NSString *sql = @"insert into stuInfo(sid,username,password) values(?,?,?)";
BOOL b = [_database executeUpdate:sql,sid,userName,password];
NSLog(@"插入数据 = %d",b);
}
#pragma mark - 查询数据
- (void)searchData {
NSString *sql = @"select *from stuInfo";
//返回结果值(理解为execl表格,多行多列数列数据结构)
FMResultSet *resultSet = [_database executeQuery:sql];
while ([resultSet next]) {
NSLog(@"sid = %@ name = %@ pw = %@",[resultSet stringForColumnIndex:0],[resultSet stringForColumnIndex:1],[resultSet stringForColumnIndex:2]);
}
}
#pragma mark - 修改数据
- (void)updataData {
NSString *username = @"郭达";
NSString *sql = @"update stuInfo set sid='11' where username=?";
BOOL b = [_database executeUpdate:sql,username];
NSLog(@"修改数据 = %d",b);
}
#pragma mark - 删除数据
- (void)deleteData {
NSString *username = @"郭达";
NSString *sql = @"delete from stuInfo where username=?";
BOOL b = [_database executeUpdate:sql,username];
NSLog(@"删除数据 = %d",b);
}
数据库FMDB-sql的更多相关文章
- iOS开发 数据库FMDB
iOS开发 数据库FMDB 1.简介 需求作用: 如果需要保存大量的结构较为复杂的数据时候, 使用数据库, 例如交规考试项目 常用的数据库: (1)Microsoft SQL Server 2000 ...
- IOS数据库FMDB增、删、改、查的使用【原创】
http://blog.it985.com/13588.html IOS数据库FMDB增.删.改.查的使用[原创] FMDB是一个XCODE的中一个轻量级的数据库,用于将网络资源存储在本地.所以,FM ...
- [SQL] SQL 基础知识梳理(一)- 数据库与 SQL
SQL 基础知识梳理(一)- 数据库与 SQL [博主]反骨仔 [原文地址]http://www.cnblogs.com/liqingwen/p/5902856.html 目录 What's 数据库 ...
- 如何转换SQL Server 2008数据库到SQL Server 2005
背景介绍: 公司一套系统使用的是SQL SERVER 2008数据库,突然一天收到邮件,需要将这套系统部署到各个不同地方(海外)的工厂,需要在各个工厂部署该数据库,等我将准备工作做好,整理文档 ...
- jdbc向各种数据库发送sql语句
1.有了JDBC,向各种关系数据发送SQL语句就是一件很容易的事.换言之,有了JDBC API,就不必为访问Sybase数据库专门写一个程序,为访问Oracle数据库又专门写一个程序,或为访问Info ...
- SQL---Chapter01 数据库和SQL
数据库类型: 层次数据库(Hierarchical Database, HDB) 数据通过层次结构(树形结构)的方式表示出来. 关系型数据库(Relational Database, RDB) 使用专 ...
- 总结一些关于操作数据库是sql语句还是存储过程问题
总结一些关于操作数据库是sql语句还是存储过程问题 程序中,你跟数据的交互,需要向数据库拿数据.更改数据库的数据等,这些操作,本身不是程序完成的,而是程序发命令给数据库去做的,不管是通过sql语句方式 ...
- SQL Server 【附】创建"商品管理数据库"、"学生选课数据库"的SQL语句
附:(创建“商品管理数据库”的SQL语句) --建立"商品管理数据库"数据库-- create database 商品管理数据库 on(name='商品管理数据库_m', file ...
- 本地数据库(SQL Server)远程连接服务器端服务器
本地数据库(SQL Server 2012) 连接外网服务器的数据库,外网的服务器端需要做如下配置: 1. 首先是要打开 数据的配置管理工具 2. 配置相关的客户端协议,开启TCP/IP 3. 数据库 ...
- iOS开发数据库篇—SQL
iOS开发数据库篇—SQL 一.SQL语句 如果要在程序运行过程中操作数据库中的数据,那得先学会使用SQL语句 1.什么是SQL SQL(structured query language):结构化查 ...
随机推荐
- 知识积累:CA详解
所有证书有多种文件编码格式,主要包括: CER编码(规范编码格式):是BER(基本编码格式)的一个变种,比BER规定得更严格DER编码(卓越编码格式):是BER(基本编码格式)的一个变种, 比BER ...
- php统计网站访问次数的一个简单方法
这里主要用到了session保存当前访问者,并将访问次数写入本地文件. <? @session_start(); $counter = intval(file_get_contents(&quo ...
- Visual Studio并发Qpar优化效果
IOCP客户端的connect线程FOR循环中添加强制并行,1万/S并发connect+send+recv+close,任务管理器使用从60%降到20%. Visual Studio性能监控CPU使用 ...
- 熟悉RT-Thread的软硬件环境【RT-Thread学习笔记 1】
软件环境:Win7+MDK4.7.2 硬件环境:STM32F4Discovery 所用OS代码:RT-Thread2.0.0 beta 下载地址: https://github.com/RT-Thre ...
- Python的第三天
一.字典 字典是另一种可变容器模型,且可存储任意类型对象. 字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,格式如下所示: ...
- noip 借教室 线段树95分做法
大致的思路是用线段树维护每个区间内部的最小值 段更新最小值 每次查某个区间的最小值是否满足租借要求 满足就借出去 update最小值 注意pushdown操作 还有一个从子区间提取答案的操作 提交地 ...
- 搭建jms的步骤和过程
搭建jms 参考网摘: http://www.jianshu.com/p/98689164a041
- RealTimePerformanceDemoView
using System;using System.Diagnostics;using System.Timers;using System.Windows;using System.Windows. ...
- WCF配置
服务端 <system.serviceModel> <services> <service name="WCF.Homedo.Service.Cache.Ser ...
- Delphi系统变量:IsMultiThread对MM的影响
前几日,调试一BUG,过程先不说,最后调试到MM,即Debug dcu,然后进入到GetMem.inc中的Get/FreeMem函数处后,出现AV. 然后一通找...郁闷了N天,后来发现将MM切换到Q ...