SQLite创建表并加入数据
- (void)viewDidLoad {
[super viewDidLoad];
//创建表
[self creatTable];
//插入数据
[self insertTable];
}
// -----------------------创建一个表--------------------
- (void)creatTable
{
// 1.创建一个数据库对象
sqlite3 *sqlite3 = nil;
// 2.数据库的路径
NSString *path = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents/mySqlite.db"];
// 3.打开数据库 (通过指定路径打开数据库文件,假设没有就创建)
int result = sqlite3_open([path UTF8String], &sqlite3);
if (result != SQLITE_OK) {
NSLog(@"数据库打开失败!");
return;
}
// 4.创建sql语句
NSString *sql = @"CREATE TABLE Students (id integer PRIMARY KEY,name text)";
// 5.运行SQL语句
char *error = NULL;
result = sqlite3_exec(sqlite3, [sql UTF8String], NULL, NULL, &error);
if (result != SQLITE_OK) {
NSLog(@"运行sql语句失败!");
// 6.关闭数据库
sqlite3_close(sqlite3);
return;
}
// 6.关闭数据库
sqlite3_close(sqlite3);
}
// -------------------------插入数据------------------------
- (void)insertTable
{
// 1.创建一个数据库对象
sqlite3 *sqlite3 = nil;
// 2.数据库的路径
NSString *path = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents/mySqlite.db"];
// 3.打开数据库 (通过指定路径打开数据库文件。假设没有就创建)
int result = sqlite3_open([path UTF8String], &sqlite3);
if (result != SQLITE_OK) {
NSLog(@"数据库打开失败!
");
return;
}
// 4.创建sql语句
// insert into students(id,name) values('123456','李斯')
NSString *sql = @"insert into students(id,name) values(?,?)";
// 5.编译sql语句
// 创建一个数据句柄对象
sqlite3_stmt *stmt = nil;
result = sqlite3_prepare_v2(sqlite3, [sql UTF8String], -1, &stmt, nil);
if (result != SQLITE_OK) {
NSLog(@"编译失败");
// 关闭数据库
sqlite3_close(sqlite3);
return;
}
// 6.绑定数据到数据句柄里面
sqlite3_bind_int(stmt, 1, 123457);
sqlite3_bind_text(stmt, 2, "张三", -1, nil);
// 7.运行数据句柄的操作
result = sqlite3_step(stmt);
if (result == SQLITE_ERROR || result == SQLITE_MISUSE) {
NSLog(@"插入失败");
// 关闭数据句柄
sqlite3_finalize(stmt);
// 关闭数据库
sqlite3_close(sqlite3);
return ;
}
// 8.运行成功
NSLog(@"插入成功");
// 关闭数据句柄
sqlite3_finalize(stmt);
// 关闭数据库
sqlite3_close(sqlite3);
}
SQLite创建表并加入数据的更多相关文章
- SQLite 创建表(http://www.w3cschool.cc/sqlite/sqlite-create-table.html)
SQLite 创建表 SQLite 的 CREATE TABLE 语句用于在任何给定的数据库创建一个新表.创建基本表,涉及到命名表.定义列及每一列的数据类型. 语法 CREATE TABLE 语句的基 ...
- sql自动创建表并复制数据
---------------自动创建表并复制数据sql,需要自己设置主键----------- select * into 新表 from 旧表
- SQLite -创建表
SQLite -创建表 SQLite CREATE TABLE语句用于创建一个新表在任何给定的数据库.创建一个基本表包括表命名和定义其列,每列的数据类型 语法: CREATE TABLE语句的基本语法 ...
- PowerDesigner创建表 拷贝创建表语句 SQLSERVER创建数据库 使用查询 创建表 并且添加数据
PowerDesigner创建表 : 1.双击打开PowerDesigner 2.双击打开Create model 3左键点击Model types,再点击Physical Data m ...
- hive 创建表和导入数据实例
//创建数据库create datebase hive;//创建表create table t_emp(id int,name string,age int,dept_name string,like ...
- mysql命令行下创建数据库,创建表,插入数据,查询数据
1.创建数据库 mysql> create DATABASE booktik -> ;Query OK, 1 row affected (0.02 sec) 2.创建表 mysql> ...
- SQL Server 向数据库中创建表并添加数据
创建表,展开数据库中新建的数据库,下面有一个选项-表.在该选项上右键就可以选择-新建-表. 然后出现的界面上是需要自己填写列列名.数据类型和选择是否允许空值. 其中数据类型我是参考: http://w ...
- python3与mysql:创建表、插入数据54
import pymysql db = pymysql.connect(host=',db='jodb1',port=3307,charset='utf8') # #测试连接开发库成功 # db = ...
- HBase shell 命令创建表及添加数据操作
创建表,表名hbase_1102,HBase表是由Key-Value组成的,此表中Key为NAME 此表有两个列族,CF1和CF2,其中CF1和CF2下分别有两个列name和gender,Chin ...
随机推荐
- cegui 编译过程详解(cegui-0.8.2)
cegui配置整了好长时间了,在一位大牛帮助下终于搞定了,网上的教程大多是老版本的,cegui-0.8.2版的配置寥寥无几,现在总结一下,献给正在纠结的小白们. 准备工作 第一步,先下载cegui-0 ...
- Python学习-day14-前台总结
以下博客为转载 http://www.cnblogs.com/evilliu/p/5760232.html HTML和CSS总结 一:针对上节作业: 1:
- PAT乙级 1001(C)+1054(Java)
准备一天两道题,就这样吧,先从水题开始. 1001.点击查看 分析:看懂题就应该写出来了,注意边界与0情况的处理. #include<stdio.h> #include<math.h ...
- Adaboost和GBDT的区别以及xgboost和GBDT的区别
Adaboost和GBDT的区别以及xgboost和GBDT的区别 以下内容转自 https://blog.csdn.net/chengfulukou/article/details/76906710 ...
- Leetcode 553.最优除法
最优除法 给定一组正整数,相邻的整数之间将会进行浮点除法操作.例如, [2,3,4] -> 2 / 3 / 4 . 但是,你可以在任意位置添加任意数目的括号,来改变算数的优先级.你需要找出怎么添 ...
- sizeof 数组名字,数组指针
int *a = new int[15]; sizeof(a)//在64位机器上,8 sizeof(a)/sizeof(int) //2 ----- int a[15]; sizeof(a)//15* ...
- 编译php 转
LAOGAO added 20140907: configure: error: mcrypt.h not found. Please reinstall libmcrypt.复制代码 代码如下:wg ...
- 【bzoj4012】[HNOI2015]开店 动态点分治+STL-vector
题目描述 风见幽香有一个好朋友叫八云紫,她们经常一起看星星看月亮从诗词歌赋谈到人生哲学.最近她们灵机一动,打算在幻想乡开一家小店来做生意赚点钱.这样的想法当然非常好啦,但是她们也发现她们面临着一个问题 ...
- Bolzano-Weierstrass 定理
这个定理是从吴崇试老师的数学物理方法课里看到的,表述如下: 有界的无穷(复数)序列至少有一个聚点. 序列的聚点定义为 给定序列 $\{z_n\}$,若存在复数 $z$,对于任意给定的 $\vareps ...
- script error总结
移动端的页面在控制台报出一个script error,通常的原因有一下几点: 1. 脚本引入错误 可能是脚本的地址不对,协议不对(http或https问题),本地host文件绑定的地址不对 2. 方法 ...