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 ...
随机推荐
- php伪随机数漏洞 以及脚本php_mt_seed的使用教程
前几天在群里看到了一个题目,发现自己没有接触过这个伪随机数这个漏洞,在此记录下. 搜索这两个函数 mt_scrand() mt_rand() mt_scrand(seed)这个函数的意思,是通过分发s ...
- Python学习-day14-CSS
前端二:CSS CSS: 一:介绍:学名层叠样式表(Cading Style Sheets)是一种用来表现HTML或者XML等文件的样式的计算机语言.让HTML和XML看起来更加美观. 语法:&l ...
- Detect Vertical&Horizontal Segments By OpenCV
Detect Vertical&Horizontal Segments By OpenCV,and Save the data to csv. Steps: Using adaptiveThr ...
- [oldboy-django][2深入django]django目录说明 + 路由系统
django project目录说明 project - app01 -- admin.py #django自带后台管理 -- apps.py #app01配置文件 -- models.py #编写类 ...
- [python][django学习篇][9]设计正在博客视图(3)
需求: 真正的首页视图函数,当用户访问我们的博客首页时,他将看到我们发表的博客文章列表,就像 演示项目 里展示的这样.t https://docs.djangoproject.com/en/1.10/ ...
- structs2 对ActionContext valueStack stack context 的理解 图片实例
structs2 对ActionContext valueStack stack context 的理解 ActionConext : The ActionContext is the context ...
- BZOJ3531 [Sdoi2014]旅行 【树剖 + 线段树】
题目 S国有N个城市,编号从1到N.城市间用N-1条双向道路连接,满足 从一个城市出发可以到达其它所有城市.每个城市信仰不同的宗教,如飞天面条神教.隐形独角兽教.绝地教都是常见的信仰.为了方便,我们用 ...
- 邻面合并(merging)
邻面合并(merging) 题目描述 给定一个N×MN×M的网格,每个格子上写有0或1.现在用一些长方形覆盖其中写有1的格子,长方形的每条边都要与坐标轴平行.要求:每个写着1的格子都要被覆盖,长方形不 ...
- php中的对象赋值
如果现在问你一个问题: <?php class A{ public $a = 1; } $a = new A(); $b = $a; $b->a = 3; print_r($a->a ...
- BJOI2019退役记
update:不想更这个游记……感觉更了只能说明自己菜得只会打嘴炮……那就让这个污痕一直残缺吧 太菜了,就不发具体分数了…… 被北师大附中的高一选手们吊打致死,退役了 4.6 4.7 4.13 4.1 ...