数据操纵语言
2016-11-13 21:52
274 查看
数据操纵语言
头文件:#include <sqlite3.h>
编译时:gcc sqlite.c –lsqlite3
1. sqlite3_open
函数原型:intsqlite3_open(const char* fileName, sqlite3** ppDB);
函数功能:打开一个数据库;若该数据库文件不存在,则自动创建。打开或者创建数据库的命令会被缓存,直到这个数据库真正被调用的时候才会被执行。
函数参数:fileName,待打开的数据库文件名称,包括路径,以’\0’结尾;特别说明:SQLite 支持内存数据库,内存方式存储使用文件名“:memory:”
输出参数:ppDB,返回打开的数据库句柄;
返回值:执行成功返回SQLITE_OK,否则返回其他值
2. sqlite3_close
函数原型:intsqlite3_close(sqlite3* pDB);
函数功能:关闭一个打开的数据库;
函数参数:pDB,打开的数据库句柄
返回值:执行成功返回SQLITE_OK,否则返回其他值
3. sqlite3_errmsg
函数原型:const char*sqlite3_errmsg(sqlite3* pDB);
函数功能:获取最近调用的API 接口返回的错误说明,这些错误信息UTF-8的编码返回,并且在下一次调用任何SQLite API 函数时被自动清除;
函数参数:pDB,打开的数据库句柄
返回值:错误说明的字符串指针
4. sqlite3_errcode
函数原型:intsqlite3_errcode(sqlite3* pDB);
函数功能:获取最近调用的API 接口返回的错误代码;
函数参数:pDB,打开的数据库句柄
返回值:错误代码
5. sqlite3_exec
函数原型:intsqlite3_exec(sqlite3* pDB, const char *sql, sqlite_callback callback,void*para, char** errMsg);
函数功能:编译和执行零个或多个SQL 语句,查询的结果返回给回调函数callback
函数参数:pDB,数据库句柄;sql,待执行的SQL 语句字符串,以’\0’结尾;callback,回调函数,用来处理查询结果,如果不需要回调(比如做insert 或者delete 操作时),可以输入NULL;para,用户传入的参数,可以为NULL,该参数指针最终会被传给回调函数callback,供用户在回调函数中使用;
返回值:执行成功返回SQLITE_OK,否则返回其他值
回调函数sqlite_callback介绍
typedef int (*sqlite_callback)(void* para,intcolumnCount,char** columnValue,char** columnName);
函数功能:由用户处理查询的结果
函数参数:para,从sqlite3_exec()传入的参数指针;columnCount,查询到的这一条记录有多少个字段(即这条记录有多少列);columnValue,查询出来的数据都保存在这里,它实际上是个1 维数组(不要以为是2 维数组),每一个元素都是一个char * 值,是一个字段内容(用字符串来表示,以‘\0’结尾);columnName,与columnValue 是对应的,表示这个字段的字段名称。
返回值:执行成功返回SQLITE_OK,否则返回其他值
6. sqlite3_get_table
函数原型:intsqlite3_get_table(sqlite3* pDB, const char *sql,char ***pResult, int *rowCount,int * columnCount, char** errMsg);
函数功能:执行SQL 语句,通过一维数组返回结果;一般用于数据记录查询
函数参数:pDB,打开的数据库句柄;sql,待执行的SQL 字符串,以’\0’结尾;
输出参数:rowCount,查询出多少条记录(即查出多少行);columnCount,查询出来的记录有多少个字段(多少列); errMsg,返回错误信息;pResult,查询结果,是由字符串组成的一维数组(不要以为是二维数组,更不要以为是三维数组)。它的内存布局是:第一行是字段名称,后面紧接着每个字段的值;
返回值:执行成功返回SQLITE_OK,否则返回其他值
7. sqlite3_free_table
函数原型:voidsqlite3_free_table(char **result);
函数功能:释放查询结果占用的内存;
函数参数:result,通过函数sqlite3_get_table()查询到的记录结果
返回值:无
8. sqlite3_prepare
函数原型:intsqlite3_prepare(sqlite3* pDB, const char* sql , int maxSqlLen,sqlite3_stmt**ppStmt, const char**pTail);
函数功能:将SQL 语句编译成SQLite 能够识别的二进制字节码(也即SQL声明,statement),结果保存在ppStat 中。注:输入的参数中只有第一个SQL语句会被编译。SQL 语句间通过分号‘;’分隔。
函数参数:pDB ,数据库句柄;sql ,待编译的SQL 语句字符串;
maxSqlLen,SQL 语句的最大长度,如果此值小于0,SQLite 会自动计算字符串长度;
输出参数:ppStmt,编译后SQL 语句存放位置;pTail,未编译的SQL 语句的起始位置,一般输入NULL就可以了。
返回值:执行成功返回SQLITE_OK,否则返回其他值
头文件:#include <sqlite3.h>
编译时:gcc sqlite.c –lsqlite3
1. sqlite3_open
函数原型:intsqlite3_open(const char* fileName, sqlite3** ppDB);
函数功能:打开一个数据库;若该数据库文件不存在,则自动创建。打开或者创建数据库的命令会被缓存,直到这个数据库真正被调用的时候才会被执行。
函数参数:fileName,待打开的数据库文件名称,包括路径,以’\0’结尾;特别说明:SQLite 支持内存数据库,内存方式存储使用文件名“:memory:”
输出参数:ppDB,返回打开的数据库句柄;
返回值:执行成功返回SQLITE_OK,否则返回其他值
2. sqlite3_close
函数原型:intsqlite3_close(sqlite3* pDB);
函数功能:关闭一个打开的数据库;
函数参数:pDB,打开的数据库句柄
返回值:执行成功返回SQLITE_OK,否则返回其他值
3. sqlite3_errmsg
函数原型:const char*sqlite3_errmsg(sqlite3* pDB);
函数功能:获取最近调用的API 接口返回的错误说明,这些错误信息UTF-8的编码返回,并且在下一次调用任何SQLite API 函数时被自动清除;
函数参数:pDB,打开的数据库句柄
返回值:错误说明的字符串指针
4. sqlite3_errcode
函数原型:intsqlite3_errcode(sqlite3* pDB);
函数功能:获取最近调用的API 接口返回的错误代码;
函数参数:pDB,打开的数据库句柄
返回值:错误代码
5. sqlite3_exec
函数原型:intsqlite3_exec(sqlite3* pDB, const char *sql, sqlite_callback callback,void*para, char** errMsg);
函数功能:编译和执行零个或多个SQL 语句,查询的结果返回给回调函数callback
函数参数:pDB,数据库句柄;sql,待执行的SQL 语句字符串,以’\0’结尾;callback,回调函数,用来处理查询结果,如果不需要回调(比如做insert 或者delete 操作时),可以输入NULL;para,用户传入的参数,可以为NULL,该参数指针最终会被传给回调函数callback,供用户在回调函数中使用;
返回值:执行成功返回SQLITE_OK,否则返回其他值
回调函数sqlite_callback介绍
typedef int (*sqlite_callback)(void* para,intcolumnCount,char** columnValue,char** columnName);
函数功能:由用户处理查询的结果
函数参数:para,从sqlite3_exec()传入的参数指针;columnCount,查询到的这一条记录有多少个字段(即这条记录有多少列);columnValue,查询出来的数据都保存在这里,它实际上是个1 维数组(不要以为是2 维数组),每一个元素都是一个char * 值,是一个字段内容(用字符串来表示,以‘\0’结尾);columnName,与columnValue 是对应的,表示这个字段的字段名称。
返回值:执行成功返回SQLITE_OK,否则返回其他值
6. sqlite3_get_table
函数原型:intsqlite3_get_table(sqlite3* pDB, const char *sql,char ***pResult, int *rowCount,int * columnCount, char** errMsg);
函数功能:执行SQL 语句,通过一维数组返回结果;一般用于数据记录查询
函数参数:pDB,打开的数据库句柄;sql,待执行的SQL 字符串,以’\0’结尾;
输出参数:rowCount,查询出多少条记录(即查出多少行);columnCount,查询出来的记录有多少个字段(多少列); errMsg,返回错误信息;pResult,查询结果,是由字符串组成的一维数组(不要以为是二维数组,更不要以为是三维数组)。它的内存布局是:第一行是字段名称,后面紧接着每个字段的值;
返回值:执行成功返回SQLITE_OK,否则返回其他值
7. sqlite3_free_table
函数原型:voidsqlite3_free_table(char **result);
函数功能:释放查询结果占用的内存;
函数参数:result,通过函数sqlite3_get_table()查询到的记录结果
返回值:无
8. sqlite3_prepare
函数原型:intsqlite3_prepare(sqlite3* pDB, const char* sql , int maxSqlLen,sqlite3_stmt**ppStmt, const char**pTail);
函数功能:将SQL 语句编译成SQLite 能够识别的二进制字节码(也即SQL声明,statement),结果保存在ppStat 中。注:输入的参数中只有第一个SQL语句会被编译。SQL 语句间通过分号‘;’分隔。
函数参数:pDB ,数据库句柄;sql ,待编译的SQL 语句字符串;
maxSqlLen,SQL 语句的最大长度,如果此值小于0,SQLite 会自动计算字符串长度;
输出参数:ppStmt,编译后SQL 语句存放位置;pTail,未编译的SQL 语句的起始位置,一般输入NULL就可以了。
返回值:执行成功返回SQLITE_OK,否则返回其他值
相关文章推荐
- SQL扩展之T-SQL中的数据操纵语言
- R 语言学习笔记二 : 操纵数据-构建子集
- (五):数据操纵语言中数据的操作
- R 语言学习笔记三 : 操纵数据-重要函数的使用
- 数据操纵语言DML__UPDATE语句
- 【0036】SQL数据操纵语言INSERT,UPDATE,DELETE
- R语言基础 - 操纵数据:重要函数的使用
- DML 数据操纵语言
- R语言基础 - 操纵数据:构建子集
- 不同语言的数据类型比较[小糊涂的灵感]
- Oracle数据操作和控制语言详解
- 图的遍历的演示(c 语言 数据结构课程设计题)
- 单链表的交并差(c 语言 数据结构)
- JavaScript语言显示XML数据的简单例子
- 社科院专家披露房地产商可能操纵房价原始数据
- ASP.NET环境下,VB.NET语言,数据保存EXCEL模板操作
- 四则运算实现(c 语言 数据结构课程设计题)
- 汇编语言实现偏移量二进制倒序并与原偏移量下数据交换
- java语言操作Oracle数据库中的CLOB数据类型
- Oracle数据操作和控制语言详解(三)