sqlite相关语句
1.create table 表名 (列名1 数据类型,列名2 数据类型,...)
2.insert into 表名 values(值1,值2,...)
3.select 列名 from 表名;
select 列名1,列名2 from 表名;
select * from 表名;
4.select * from 表名 order by 列名 ASC; //升序排列
select * from 表名 order by 列名 DESC; //降序排列
5.select * from c表名 where 列名 运算符 值;
例子:select * from class1 where name="字符串";
运算符:= > < >= <= !=
模糊查找
6.select * from 表名 where 列名 like 值%;
模糊查找和"值****“匹配的行
%可以模糊匹配多个字符;
_只能模糊匹配一个字符;
select*from表名where列名 like"值";
7.update 表名 set 列名=新值 where 列名=值;
例子: update class1 set score=99 where name="张三";
8.delete from 表名 where 值="";
例子:delete from class1 where name="张三"
自动增长列
主键值 INTEGER
9.create table 表名(id INTEGER PRIMARY AUTOINCREMENT,XXXXX)
sudo apt-get install sqlitebrowser;
sqlitebrowser 数据库名;
sqlite3相关c函数接口:
1.sqlite3_open
1.sqlite3_open
int sqlite3_open(
const char *filename, /* Database filename (UTF-8) */
sqlite3 **ppDb /* OUT: SQLite db handle */
);
功能:
打开一个数据库文件获得操作数据库文件的句柄
如果数据库存在,则打开;不存在,则创建
参数:
filename:数据库文件路径
ppDb:存放句柄指针空间的首地址
返回值:
成功返回SQLITE_OK
2.sqlite3_errmsg
2.sqlite3_errmsg
const char *sqlite3_errmsg(sqlite3*);
功能:
获得出错原因
3.sqlite_close
3.sqlite3_close
int sqlite3_close(sqlite3*);
功能:
关闭数据库句柄,释放空间
4.sqlite_exec
int sqlite3_exec(
sqlite3* pDb, /* An open database */
const char *sql, /* SQL to be evaluated */
int (*callback)(void*,int,char**,char**), /* Callback function */
void *arg, /* 1st argument to callback */
char **errmsg /* Error msg written here */
);
功能:
在数据库中执行SQL语句
参数:
sqlite3*:数据库句柄
sql :SQL语句字符串首地址
callback:回调函数(只有select时使用)
void *arg:回调函数的传参(只有select时使用)
char **errmsg:出错信息存放空间首地址
返回值:
成功返回SQLITE_OK 0
回调函数类型:
int fun(void* para,int n_column,char** column_value,char** column_name);
参数:
para : sqlite3_exec传递的第四个参数
n_column :查询到数据的列数
column_value:查询结果每个字段的首地址集合
column_name :查询结果每个字段的字段名称首地址集合
注意:
1. 回调函数查询到几行数据就执行几次;
2.回调函数必须要返回0,否则sqlite3_exec调用失败
3.数据库中查出的数据均为字符串