按关键词阅读: 嵌入式数据库
9、 4 coloumns of data but found 1;
从经验应该能看出是字符分隔符有问题 , 先来看看系统用什么样的提示符: .show之后可以看到 separator: “|” , 也就是说系统默认的分隔符为”|”面不是”,” , 下面修改分隔字符: sqlite.separator “,” sqlite.import data.txt employee sqlite select * from employee where id 2;
sqlite select * from employee where name 9999999999999;
上面这句用来说明textinteger(这个 。
10、和比较字符的内码得到的结果是相同的) 数据比较 NULL select id 2, name dong, gender=male from employee;
0,1,1 0,1,0 1,1,1 1,0,1 1,1,1,SQLite命令行功能使用,下面举例说明SQLITE命令行的常规使用: SQLite数据导出 将数据表导出为数据创建脚本 sqlite .dump employee 上面的命令可以得到数据表相关的SQL语句,为了将输出保存的文件中 , 执行下面的命令 。
sqlite .output create.sql sqlite .dump employee sqlite .output st 。
【嵌入式数据库简介|嵌入式数据库简介】11、dout(将输出恢复到标准输出) 将特定数据导出成数据文件 sqlite .output data_tmp.html sqlite select * from employee;
sqlite .mode html employee sqlite select * from employee;
sqlite .output stdout 上面的几条命令将employee中的数据以html 的格式保存到data_tmp.html中. shell sqlite test.db “.dump” | sed e s/dq/dongqiang/ | sqlite3 test2.db 上面的命令行操作将t 。
12、est.db中的dq全部替换为dongqiang然后导入test2.db中 创建索引 create index employee_ID on employee( id );
创建触发器 create Trigger insert_trigger AFTER INSERT ON employee BEGIN /动作,比如记数 , 修改时间等 END,SQLite的编程接口简介,SQLite3 C/C+常见接口 int sqlite3_open();
/数据库的打开,包括文件和内存数据库两种(:memory). int sqlite3_close();
/数据库的关闭 long long int sql 。
13、ite3_last_insert_rowid(sqlite3*);
/最后插入的数据的行号 long long int sqlite3_progress_handler(sqlite3*);
/查询的进度,参数为空删除进度信息(实验中) SQLite3的不同执行方式 执行一行或多行SQL语句并在查询结果的每一行上执行回调函数 int sqlite3_exec();
动态构造SQL语句 char *sqlite3_mprintf(const char*,.);
char *sqlite3_vmprintf(const char*, va_list);
/构造语句 , 由sqlite3_exec执行 int 。
14、 sqlite3_exec_printf();
/构造查询语句 , 并执行 void sqlite3_free(char *z);
/释放sqlite3_(v)mprintf分配的内存 预编译SQL语句 , 减少SQL分析的时间 int sqlite3_prepare();
/预编译 int sqlite3_step(sqlite3_stmt*);
/执行一次 , 或者多次 Int sqlite3_reset( sqlite3_stmt*);
/重置sqlite3_stmt(来自sqlite3_prepare() int sqlite3_finalize(sqlite3_stmt *pStmt);
/释放。
15、利用对sqlite3_exec()的封装,返回所有的查询结果 int sqlite3_get_table();
void sqlite3_free_table(char *result,SQLite的编程接口简单应用,SQLite的简单使用举例 , 去除了对异常处理部分 。
主函数分析: int main(int argc, char* argv) sqlite3 * db = NULL;
char* zErrMsg = NULL;
int rc;
sqlite3_open( “:memory:”,SQLite的编程接口简单应用,回调函数 int calltimes = 0;
static int。
16、callback(void* notused, int argc, char* argv, char* azColName) int i;
calltimes+;
for(i=0;
iargc;
i+) printf(“%s = %sn”, azColNamei, argvi ? argvi : “NULL”);
/打印出查询结果 printf(“number %d callbackn”, calltimes);
/打印出回调的次数 return 0;
,SQLite自定义函数简介,SQLite最大的特色之一就是可以用户定义函数 。
用户自定义函数可以像系统内置函数一样可以在注册之后像系统内置函数一样 。
17、在SQL语句中使用 。
用户使用自定义函数类似存储过程 , 方便用户对常见功能的调用 , 也加快了执行速度 。
用户自定义函数整体上可以分为两种:简单函数和聚集函数 。
简单函数(simple function) 简单函数用在任何表达式中,常见的有max(x,y.), min(x,y.), random(*), last_insert_rowid(), length(x),lower(x),upper(x),round(x,y),round(*), substr(x,y,z), typeof(x) 聚集函数(aggregate function) 聚集函数经常用在select语句中,常见的有avg(x),cou 。
18、nt(x), count(*), max(x), min(x), sum(x), total(x) 有些函数既是简单函数 , 又是聚集函数 。
比如只有一个参数的min()是一个聚集函数 , 而有多个参数的min()是一个简单函数 。
sqlite select * from employee where id=min( 1, ,2, 3, 4,5);
sqlite select * from employee where id=min(1);
/min()是aggragate func作为表达式 SQL Error: misuse of aggregate function main() sqlite se 。
19、lect min(1) from employee,SQLite的自定义简单函数接口,用户自定义函数接口 int sqlite3_create_function();
来源:(未知)
【学习资料】网址:/a/2021/0321/0021740501.html
标题:嵌入式数据库简介|嵌入式数据库简介( 二 )