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 ...
随机推荐
- Python-S9——Day110-Git继续
1 当日内容概要 2 内容回顾 3 Git版本控制之多人协同开发 4 Git版本控制之fork 5 版本控制之其他 6 Redis之字典基本操作 7 Django中操作Redis 8 Django缓存 ...
- Python基础-week06 面向对象编程基础
一.面向对象编程 1.面向过程 与 面向对象编程 面向过程的程序设计: 核心是 过程二字,过程指的是解决问题的步骤,即先干什么再干什么......面向过程的设计就好比精心设计好一条流水线,是一种机械式 ...
- Your branch is ahead of 'origin/master' by 21 commits.
当切换到主分支后,准备 git pull 拉取远程 master 分支时,提示本地主分支显示有 21 个commits 问题原因: 因为你修改了 local master 本地的主分支,可以选择以下方 ...
- [错误处理]AttributeError: 'generator' object has no attribute 'next'
在python3下学习yield用法. 程序如下: def bar(n): m = n while True: m += 1 yield m b = bar(3) print(b.next()) 程序 ...
- springboot 连接redis
引入依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>s ...
- 小白逛公园加强版(park)
小白逛公园加强版(park) 题目描述 小新经常陪小白去公园玩,也就是所谓的遛狗啦--在小新家附近有n个公园,这些公园通过一些路径相连,并保证每两个公园之间有且仅有一条通路相连(也就是说这是一棵树), ...
- jspspy database help
.
- 小米监控 open-falcon部署
具体详情请参考官方文档 http://book.open-falcon.org/zh_0_2/quick_install/ centos6.8 建议centos7系统 否则后面按照官方 ...
- [暑假集训--数论]poj1730 Perfect Pth Powers
We say that x is a perfect square if, for some integer b, x = b 2. Similarly, x is a perfect cube if ...
- cf 613E - Puzzle Lover
Description 一个\(2*n\)的方格矩阵,每个格子里有一个字符 给定一个长度为\(m\)的字符串\(s\) 求在方格矩阵中,有多少种走法能走出字符串\(s\) 一种合法的走法定义为:从任意 ...