IOS-sqlite3数据库: create table数据库表及对数据库表的增删改查(create/insert/delete)

1.步骤是:

先加入sqlite开发库libsqlite3.dylib,

新建或打开数据库,

创建数据表,

插入数据,

查询数据并打印

2、sqlite 的方法

sqlite3          *db, 数据库句柄,跟文件句柄FILE很类似

sqlite3_stmt *stmt, 这个相当于ODBC的Command对象,用于保存编译好的SQL语句

sqlite3_open(),    打开数据库,没有数据库时创建。
sqlite3_exec(),    执行非查询的sql语句
Sqlite3_step(),    在调用sqlite3_prepare后,使用这个函数在记录集中移动。
Sqlite3_close(),   关闭数据库文件
还有一系列的函数,用于从记录集字段中获取数据,如
sqlite3_column_text(),      取text类型的数据。
sqlite3_column_blob(),取blob类型的数据
sqlite3_column_int(),       取int类型的数据

3.数据库表的操作:create及update/insert/delete/select

//创建数据库表(Create Table)

+ (BOOL)createTable {

//判断数据库是否打开

if ([shareDataBase open]) {

//如果表 inner_ac_info不存在,就创建,包含字段列名_id(数据类型为integer,主键,自动递增),ac_name(数据类型为varchar),iu_no(数据类型为varchar),ou_no(数据类型为varchar), gw_ip(数据类型为varchar).

NSString *sql = @"CREATE TABLE IF NOT EXISTS inner_ac_info (_id  integer primary key autoincrement, ac_name varchar, iu_no  varchar,  ou_no  varchar, gw_ip  varchar)";

[shareDataBase executeUpdate:sql];

NSString *sql1 = @"CREATE TABLE IF NOT EXISTS ac_mode_info (_id  integer primary key autoincrement, ac_mode_name varchar, on_off  integer,  speed integer, work_mode  integer, temp  integer)";

[shareDataBase executeUpdate:sql1];

NSString *sql2 = @"CREATE TABLE IF NOT EXISTS ac_mode_inner_ac (_id  integer primary key autoincrement, ac_mode_id long, ac_id  long)";

[shareDataBase executeUpdate:sql2];

//                [shareDataBase close];

}

SQLite 的 AUTOINCREMENT 是一个关键字,用于表中的字段值自动递增.

关键字 AUTOINCREMENT 只能用于整型(INTEGER)字段。

/**

//查询数据库表

+ (NSArray *)getAcList{

NSMutableArray *acarray = [[NSMutableArray alloc] init];

[self init];

if ([shareDataBase open]) {

//查询数据库表下面一句

FMResultSet *s = [shareDataBase executeQuery:[NSString stringWithFormat:@"SELECT * FROM inner_ac_info"]];

//相当于 NSString *string = [NSString stringWithFormat:@"SELECT * FROM inner_ac_info"]

//+        FMResultSet *s = [shareDataBase executeQuery:string];

while ([s next]) {

Airconditioner *ac = [[Airconditioner alloc] init];

ac.acId = [NSNumber numberWithInt:[s intForColumn:@"_id"]];

ac.rmname = [s stringForColumn:@"ac_name"];

ac.aciuNo = [s stringForColumn:@"iu_no"];

ac.acouNo = [s stringForColumn:@"ou_no"];

ac.gwIp   = [s stringForColumn:@"gw_ip"];

[acarray addObject:ac];

}

//关闭数据库

[shareDataBase close];

}

return acarray;

}

//更新数据库表的修改(update)

+ (void)updateAc: (Airconditioner*) ac{

[self init];

NSLog(@"AcId =========%@",ac.acId);

if ([shareDataBase open]) {

//数据库表执行更新操作:修改id对应的nkname

[shareDataBase executeUpdate:

@"UPDATE  inner_ac_info  set ac_name = ?  where _id = ?",ac.nkname, ac.acId];

[shareDataBase close];

}

}

//删除数据库表

//删除部分

+ (void)deleteAc:(NSString*)iuNo with:(NSString*) ouNo{

[self init];

if ([shareDataBase open]) {

[shareDataBase executeUpdate:

@"delete from inner_ac_info where iu_no = ? and ou_no = ?", iuNo, ouNo];

[shareDataBase close];

}

}

//删除全部

+ (void)deleteAllAc{

[self init];

if ([shareDataBase open]) {

[shareDataBase executeUpdate:

@"delete from  inner_ac_info"];

[shareDataBase close];

}

}

时间: 2024-11-05 20:35:30

IOS-sqlite3数据库: create table数据库表及对数据库表的增删改查(create/insert/delete)的相关文章

MySQL数据库学习笔记(八)----JDBC入门及简单增删改查数据库的操作

[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4050825.html 联系方式:[email protected] [正文]                                                                                                               

sqlite-SQL-对表中的数据记录进行增删改查操作

1 添加数据记录 insert into table_name(field1, field2, ...) values(val1, val2, ...); valx为需要存入字段的值. 例,往学生信息表添加数据: Insert into student_info(stu_no, name) values(0001, alex); 注意: INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) VALUES (1, 'Paul', 32, 'Califor

使用C#书写SQLite数据库增删改查语句(以及插入byte[]时遇到的问题总结)

在没有使用SQLite这种轻量级的数据库之前,只使用过Sqlserver2008进行数据的增删改查,公司使用的是大型的ORACLE数据库,还没有真正的会使用它.那时候觉得数据库很庞大,然而遇到SQLite以后,发现有这么个迷你的小数据库,就像女生的包包随身携带的小镜子一样,放在哪里都能使用. 废话少说,SQLite提供了如何连接.关闭等数据库操作,但真正的增.删.改.查等语句同Sqlserver.ORACLE是一样的. 首先,是创建SQLite数据库文件(写了一个方法): Public stat

oracle数据库【表复制】insert into select from跟create table as select * from 两种表复制语句区别

create table  as select * from和insert into select from两种表复制语句区别 [sql] view plain copy create table targer_table as select * from source_table insert into target_table(column1,column2) select column1,column2 from source_table 以上两句都是将源表source_table的记录插

IOS sqlite数据库增删改查

1.简单介绍 简单封装sqlite数据库操作类 BaseDB 用于完毕对sqlite的增删改查.使用前先导入libsqlite3.0.dylib库 2.BaseDB.h // // BaseDB.h // SqliteDemo // // Created by 赵超 on 14-8-26. // Copyright (c) 2014年 赵超. All rights reserved. // #import <Foundation/Foundation.h> #import "sqli

Djaogo-Model操作数据库(增删改查、连表结构)

一.数据库操作 1.创建model表 基本结构 1 2 3 4 5 6 from django.db import models    class userinfo(models.Model):     #如果没有models.AutoField,默认会创建一个id的自增列     name = models.CharField(max_length=30)     email = models.EmailField()     memo = models.TextField() 更多字段: 1

关于MySql中数据库、表的操作以及增删改查等一些SQL语句注意事项

(1)怎么在cmd中复制粘贴内容? 参考:http://jingyan.baidu.com/article/93f9803fd3a4dde0e46f55f5.html (2)怎么打开进入和退出数据库? --其中-h是主机名,可以写IP地址127.0.0.1,回车后,提示输入密码即可. mysql -h localhost -u root -p --退出数据库是exit或者quit或者CTRL+C. (3)在dos中以及mysql中修改mysql的root密码 --在dos中,即不需要进入mysq

数据库和表的增删改查(新手向)

数据库的增删改查: 使用的是mysql数据库,完成数据库的创建,删除,修改,查询: 登录界面 1.数据库的创建,create database db_name;          回车,此时我们创建了一个名为db_name的数据库,这时候注意,当你没有定义数据库的编码字符集的时候,系统默认是latin1的编码格式.练习:创造一个名为"emp"的数据库: 已经完成数据库emp的建立(由于没有定义数据库的编码字符集,所以默认为latin1). 2.数据库的修改,alter database

数据库初识 用户创建授权 库与表内容的增删改查

初识数据库 为什要用数据库 第一,将文件和程序存在一台机器上是很不合理的. 第二,操作文件是一件很麻烦的事 数据库的优势 1.程序稳定性 :这样任意一台服务所在的机器崩溃了都不会影响数据和另外的服务. 2.数据一致性 :所有的数据都存储在一起,所有的程序操作的数据都是统一的,就不会出现数据不一致的现象 解决了多个服务同时使用数据的一致性间题 3.并发 :数据库可以良好的支持并发,所有的程序操作数据库都是通过网络,而数据库本身支持并发的网络操作,不需要我们自己写socket 解决了并发问题 4.效

MySQL数据库之表的增删改查

目录 MySQL数据库之表的增删改查 1 引言 2 创建表 3 删除表 4 修改表 5 查看表 6 复制表 MySQL数据库之表的增删改查 1 引言 1.MySQL数据库中,数据库database就是硬盘上的一个文件夹,表table就是文件夹里面的一个文件 2.表中的一条记录就相当于文件中的一行内容,与excel表类似,表table中有不同的标题,称之为字段 3.本节对表结构做增删改查,即创建表.删除表.修改表.查看表结构,至于表中数据的增删改查日后单独总结 2 创建表 1.创建一张表,需要建一