安装
sudo apt-get install sqlite3
sudo apt-get install libsqlite3-dev
在Shell中使用
创建数据库文件@H_502_18@
sqlite3 db_name.db
显示所有命令@H_502_18@
.help
退出sqlite3@H_502_18@
.quit
显示当前打开的数据库文件@H_502_18@
.database
显示数据库中所有表名@H_502_18@
.tables
查看表的结构@H_502_18@
.schema
创建新表@H_502_18@
create table student (id int,name char,score float);
删除表@H_502_18@
drop table student;
向表中添加新记录@H_502_18@
insert into student values (1001,'zhangsan',59.9);
查询表中所有记录@H_502_18@
select * from student;
按指定条件查询表中记录@H_502_18@
select * from student where id=1001 ;
select * from student where id=1001 and name='wanger'; //and表示并且表示条件同时成立
select * from student where id=1001 or name='wanger'; //or 表示或 只要一个条件成立即可
更新表中记录@H_502_18@
update student set id=1003,name='wang' where name='wanger';
按指定条件删除@H_502_18@
delete from student where id=1002;
在表中添加字段@H_502_18@
alter table student add sex char;
在表中删除字段@H_502_18@
create table worker as select id,name,score from student;
drop table student;
alter table worker rename to student;
在C中编程访问数据库
头文件@H_502_18@
#include <sqlite3.h>
API@H_502_18@
sqlite3_open
int sqlite3_open(
const char *filename,/* Database filename (UTF-8) */
sqlite3 **ppDb /* OUT: sqlite db handle */
);
功能:打开sqlite数据库
参数:
filename: 数据库文件"stu.db"
ppDb: 数据库指针,方便后面的操作函数执行sql语句对数据库文件的操作
返回值:
成功 sqlITE_OK
失败 错误码(非零值) 使用sqlite3_errmsg查看详细错误信息
sqlite3_close
int sqlite3_close(sqlite3 *ppDb);
功能:关闭数据库连接并释放所占用的内存
参数:
ppDb:待关闭的数据库对象
返回值:
如果数据库正在进行操作,返回sqlITE_BUSY
如果成功关闭,则返回sqlITE_OK
sqlite3_exec
int sqlite3_exec(
sqlite3 *ppDb,/* 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语句
参数:
ppDb:待操作的数据库对象
sql:sql语句,两条之间用分号隔开
callback:如果执行sql语句时返回一条记录,该函数会被调用一次
arg:传递给回调函数的第一个参数
errmsg:错误信息
返回值:
执行语句时发生错误:sqlITE_ABORT
正确执行完毕:sqlITE_OK
sqlite3_get_table
int sqlite3_get_table(
sqlite3 *db,/* An open database */
const char *zsql,/* sql to be evaluated */
char ***pazResult,/* Results of the query */
int *pnRow,/* Number of result rows written here */
int *pnColumn,/* Number of result columns written here */
char **pzErrmsg /* Error msg written here */
);
void sqlite3_free_table(char **result);
功能:获取执行sql语句后得到的表
参数:
db:待操作的数据库
zsql:要执行的sql语句
paxResult:查询后返回的表的数据
pnRow:表的行数
pnColumn:表的列数
pzErrmsg:错误信息
返回值:
成功:返回sqlITE_OK
失败:返回非sqlITE_OK的值
.help
退出sqlite3@H_502_18@
.quit
显示当前打开的数据库文件@H_502_18@
.database
显示数据库中所有表名@H_502_18@
.tables
查看表的结构@H_502_18@
.schema
创建新表@H_502_18@
create table student (id int,name char,score float);
删除表@H_502_18@
drop table student;
向表中添加新记录@H_502_18@
insert into student values (1001,'zhangsan',59.9);
查询表中所有记录@H_502_18@
select * from student;
按指定条件查询表中记录@H_502_18@
select * from student where id=1001 ;
select * from student where id=1001 and name='wanger'; //and表示并且表示条件同时成立
select * from student where id=1001 or name='wanger'; //or 表示或 只要一个条件成立即可
更新表中记录@H_502_18@
update student set id=1003,name='wang' where name='wanger';
按指定条件删除@H_502_18@
delete from student where id=1002;
在表中添加字段@H_502_18@
alter table student add sex char;
在表中删除字段@H_502_18@
create table worker as select id,name,score from student;
drop table student;
alter table worker rename to student;
在C中编程访问数据库
头文件@H_502_18@
#include <sqlite3.h>
API@H_502_18@
sqlite3_open
int sqlite3_open(
const char *filename,/* Database filename (UTF-8) */
sqlite3 **ppDb /* OUT: sqlite db handle */
);
功能:打开sqlite数据库
参数:
filename: 数据库文件"stu.db"
ppDb: 数据库指针,方便后面的操作函数执行sql语句对数据库文件的操作
返回值:
成功 sqlITE_OK
失败 错误码(非零值) 使用sqlite3_errmsg查看详细错误信息
sqlite3_close
int sqlite3_close(sqlite3 *ppDb);
功能:关闭数据库连接并释放所占用的内存
参数:
ppDb:待关闭的数据库对象
返回值:
如果数据库正在进行操作,返回sqlITE_BUSY
如果成功关闭,则返回sqlITE_OK
sqlite3_exec
int sqlite3_exec(
sqlite3 *ppDb,/* 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语句
参数:
ppDb:待操作的数据库对象
sql:sql语句,两条之间用分号隔开
callback:如果执行sql语句时返回一条记录,该函数会被调用一次
arg:传递给回调函数的第一个参数
errmsg:错误信息
返回值:
执行语句时发生错误:sqlITE_ABORT
正确执行完毕:sqlITE_OK
sqlite3_get_table
int sqlite3_get_table(
sqlite3 *db,/* An open database */
const char *zsql,/* sql to be evaluated */
char ***pazResult,/* Results of the query */
int *pnRow,/* Number of result rows written here */
int *pnColumn,/* Number of result columns written here */
char **pzErrmsg /* Error msg written here */
);
void sqlite3_free_table(char **result);
功能:获取执行sql语句后得到的表
参数:
db:待操作的数据库
zsql:要执行的sql语句
paxResult:查询后返回的表的数据
pnRow:表的行数
pnColumn:表的列数
pzErrmsg:错误信息
返回值:
成功:返回sqlITE_OK
失败:返回非sqlITE_OK的值
.database
显示数据库中所有表名@H_502_18@
.tables
查看表的结构@H_502_18@
.schema
创建新表@H_502_18@
create table student (id int,name char,score float);
删除表@H_502_18@
drop table student;
向表中添加新记录@H_502_18@
insert into student values (1001,'zhangsan',59.9);
查询表中所有记录@H_502_18@
select * from student;
按指定条件查询表中记录@H_502_18@
select * from student where id=1001 ;
select * from student where id=1001 and name='wanger'; //and表示并且表示条件同时成立
select * from student where id=1001 or name='wanger'; //or 表示或 只要一个条件成立即可
更新表中记录@H_502_18@
update student set id=1003,name='wang' where name='wanger';
按指定条件删除@H_502_18@
delete from student where id=1002;
在表中添加字段@H_502_18@
alter table student add sex char;
在表中删除字段@H_502_18@
create table worker as select id,name,score from student;
drop table student;
alter table worker rename to student;
在C中编程访问数据库
头文件@H_502_18@
#include <sqlite3.h>
API@H_502_18@
sqlite3_open
int sqlite3_open(
const char *filename,/* Database filename (UTF-8) */
sqlite3 **ppDb /* OUT: sqlite db handle */
);
功能:打开sqlite数据库
参数:
filename: 数据库文件"stu.db"
ppDb: 数据库指针,方便后面的操作函数执行sql语句对数据库文件的操作
返回值:
成功 sqlITE_OK
失败 错误码(非零值) 使用sqlite3_errmsg查看详细错误信息
sqlite3_close
int sqlite3_close(sqlite3 *ppDb);
功能:关闭数据库连接并释放所占用的内存
参数:
ppDb:待关闭的数据库对象
返回值:
如果数据库正在进行操作,返回sqlITE_BUSY
如果成功关闭,则返回sqlITE_OK
sqlite3_exec
int sqlite3_exec(
sqlite3 *ppDb,/* 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语句
参数:
ppDb:待操作的数据库对象
sql:sql语句,两条之间用分号隔开
callback:如果执行sql语句时返回一条记录,该函数会被调用一次
arg:传递给回调函数的第一个参数
errmsg:错误信息
返回值:
执行语句时发生错误:sqlITE_ABORT
正确执行完毕:sqlITE_OK
sqlite3_get_table
int sqlite3_get_table(
sqlite3 *db,/* An open database */
const char *zsql,/* sql to be evaluated */
char ***pazResult,/* Results of the query */
int *pnRow,/* Number of result rows written here */
int *pnColumn,/* Number of result columns written here */
char **pzErrmsg /* Error msg written here */
);
void sqlite3_free_table(char **result);
功能:获取执行sql语句后得到的表
参数:
db:待操作的数据库
zsql:要执行的sql语句
paxResult:查询后返回的表的数据
pnRow:表的行数
pnColumn:表的列数
pzErrmsg:错误信息
返回值:
成功:返回sqlITE_OK
失败:返回非sqlITE_OK的值
.schema
创建新表@H_502_18@
create table student (id int,name char,score float);
删除表@H_502_18@
drop table student;
向表中添加新记录@H_502_18@
insert into student values (1001,'zhangsan',59.9);
查询表中所有记录@H_502_18@
select * from student;
按指定条件查询表中记录@H_502_18@
select * from student where id=1001 ;
select * from student where id=1001 and name='wanger'; //and表示并且表示条件同时成立
select * from student where id=1001 or name='wanger'; //or 表示或 只要一个条件成立即可
更新表中记录@H_502_18@
update student set id=1003,name='wang' where name='wanger';
按指定条件删除@H_502_18@
delete from student where id=1002;
在表中添加字段@H_502_18@
alter table student add sex char;
在表中删除字段@H_502_18@
create table worker as select id,name,score from student;
drop table student;
alter table worker rename to student;
在C中编程访问数据库
头文件@H_502_18@
#include <sqlite3.h>
API@H_502_18@
sqlite3_open
int sqlite3_open(
const char *filename,/* Database filename (UTF-8) */
sqlite3 **ppDb /* OUT: sqlite db handle */
);
功能:打开sqlite数据库
参数:
filename: 数据库文件"stu.db"
ppDb: 数据库指针,方便后面的操作函数执行sql语句对数据库文件的操作
返回值:
成功 sqlITE_OK
失败 错误码(非零值) 使用sqlite3_errmsg查看详细错误信息
sqlite3_close
int sqlite3_close(sqlite3 *ppDb);
功能:关闭数据库连接并释放所占用的内存
参数:
ppDb:待关闭的数据库对象
返回值:
如果数据库正在进行操作,返回sqlITE_BUSY
如果成功关闭,则返回sqlITE_OK
sqlite3_exec
int sqlite3_exec(
sqlite3 *ppDb,/* 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语句
参数:
ppDb:待操作的数据库对象
sql:sql语句,两条之间用分号隔开
callback:如果执行sql语句时返回一条记录,该函数会被调用一次
arg:传递给回调函数的第一个参数
errmsg:错误信息
返回值:
执行语句时发生错误:sqlITE_ABORT
正确执行完毕:sqlITE_OK
sqlite3_get_table
int sqlite3_get_table(
sqlite3 *db,/* An open database */
const char *zsql,/* sql to be evaluated */
char ***pazResult,/* Results of the query */
int *pnRow,/* Number of result rows written here */
int *pnColumn,/* Number of result columns written here */
char **pzErrmsg /* Error msg written here */
);
void sqlite3_free_table(char **result);
功能:获取执行sql语句后得到的表
参数:
db:待操作的数据库
zsql:要执行的sql语句
paxResult:查询后返回的表的数据
pnRow:表的行数
pnColumn:表的列数
pzErrmsg:错误信息
返回值:
成功:返回sqlITE_OK
失败:返回非sqlITE_OK的值
drop table student;
向表中添加新记录@H_502_18@
insert into student values (1001,'zhangsan',59.9);
查询表中所有记录@H_502_18@
select * from student;
按指定条件查询表中记录@H_502_18@
select * from student where id=1001 ;
select * from student where id=1001 and name='wanger'; //and表示并且表示条件同时成立
select * from student where id=1001 or name='wanger'; //or 表示或 只要一个条件成立即可
更新表中记录@H_502_18@
update student set id=1003,name='wang' where name='wanger';
按指定条件删除@H_502_18@
delete from student where id=1002;
在表中添加字段@H_502_18@
alter table student add sex char;
在表中删除字段@H_502_18@
create table worker as select id,name,score from student;
drop table student;
alter table worker rename to student;
在C中编程访问数据库
头文件@H_502_18@
#include <sqlite3.h>
API@H_502_18@
sqlite3_open
int sqlite3_open(
const char *filename,/* Database filename (UTF-8) */
sqlite3 **ppDb /* OUT: sqlite db handle */
);
功能:打开sqlite数据库
参数:
filename: 数据库文件"stu.db"
ppDb: 数据库指针,方便后面的操作函数执行sql语句对数据库文件的操作
返回值:
成功 sqlITE_OK
失败 错误码(非零值) 使用sqlite3_errmsg查看详细错误信息
sqlite3_close
int sqlite3_close(sqlite3 *ppDb);
功能:关闭数据库连接并释放所占用的内存
参数:
ppDb:待关闭的数据库对象
返回值:
如果数据库正在进行操作,返回sqlITE_BUSY
如果成功关闭,则返回sqlITE_OK
sqlite3_exec
int sqlite3_exec(
sqlite3 *ppDb,/* 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语句
参数:
ppDb:待操作的数据库对象
sql:sql语句,两条之间用分号隔开
callback:如果执行sql语句时返回一条记录,该函数会被调用一次
arg:传递给回调函数的第一个参数
errmsg:错误信息
返回值:
执行语句时发生错误:sqlITE_ABORT
正确执行完毕:sqlITE_OK
sqlite3_get_table
int sqlite3_get_table(
sqlite3 *db,/* An open database */
const char *zsql,/* sql to be evaluated */
char ***pazResult,/* Results of the query */
int *pnRow,/* Number of result rows written here */
int *pnColumn,/* Number of result columns written here */
char **pzErrmsg /* Error msg written here */
);
void sqlite3_free_table(char **result);
功能:获取执行sql语句后得到的表
参数:
db:待操作的数据库
zsql:要执行的sql语句
paxResult:查询后返回的表的数据
pnRow:表的行数
pnColumn:表的列数
pzErrmsg:错误信息
返回值:
成功:返回sqlITE_OK
失败:返回非sqlITE_OK的值
select * from student;
按指定条件查询表中记录@H_502_18@
select * from student where id=1001 ;
select * from student where id=1001 and name='wanger'; //and表示并且表示条件同时成立
select * from student where id=1001 or name='wanger'; //or 表示或 只要一个条件成立即可
更新表中记录@H_502_18@
update student set id=1003,name='wang' where name='wanger';
按指定条件删除@H_502_18@
delete from student where id=1002;
在表中添加字段@H_502_18@
alter table student add sex char;
在表中删除字段@H_502_18@
create table worker as select id,name,score from student;
drop table student;
alter table worker rename to student;
在C中编程访问数据库
头文件@H_502_18@
#include <sqlite3.h>
API@H_502_18@
sqlite3_open
int sqlite3_open(
const char *filename,/* Database filename (UTF-8) */
sqlite3 **ppDb /* OUT: sqlite db handle */
);
功能:打开sqlite数据库
参数:
filename: 数据库文件"stu.db"
ppDb: 数据库指针,方便后面的操作函数执行sql语句对数据库文件的操作
返回值:
成功 sqlITE_OK
失败 错误码(非零值) 使用sqlite3_errmsg查看详细错误信息
sqlite3_close
int sqlite3_close(sqlite3 *ppDb);
功能:关闭数据库连接并释放所占用的内存
参数:
ppDb:待关闭的数据库对象
返回值:
如果数据库正在进行操作,返回sqlITE_BUSY
如果成功关闭,则返回sqlITE_OK
sqlite3_exec
int sqlite3_exec(
sqlite3 *ppDb,/* 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语句
参数:
ppDb:待操作的数据库对象
sql:sql语句,两条之间用分号隔开
callback:如果执行sql语句时返回一条记录,该函数会被调用一次
arg:传递给回调函数的第一个参数
errmsg:错误信息
返回值:
执行语句时发生错误:sqlITE_ABORT
正确执行完毕:sqlITE_OK
sqlite3_get_table
int sqlite3_get_table(
sqlite3 *db,/* An open database */
const char *zsql,/* sql to be evaluated */
char ***pazResult,/* Results of the query */
int *pnRow,/* Number of result rows written here */
int *pnColumn,/* Number of result columns written here */
char **pzErrmsg /* Error msg written here */
);
void sqlite3_free_table(char **result);
功能:获取执行sql语句后得到的表
参数:
db:待操作的数据库
zsql:要执行的sql语句
paxResult:查询后返回的表的数据
pnRow:表的行数
pnColumn:表的列数
pzErrmsg:错误信息
返回值:
成功:返回sqlITE_OK
失败:返回非sqlITE_OK的值
update student set id=1003,name='wang' where name='wanger';
按指定条件删除@H_502_18@
delete from student where id=1002;
在表中添加字段@H_502_18@
alter table student add sex char;
在表中删除字段@H_502_18@
create table worker as select id,name,score from student;
drop table student;
alter table worker rename to student;
在C中编程访问数据库
头文件@H_502_18@
#include <sqlite3.h>
API@H_502_18@
sqlite3_open
int sqlite3_open(
const char *filename,/* Database filename (UTF-8) */
sqlite3 **ppDb /* OUT: sqlite db handle */
);
功能:打开sqlite数据库
参数:
filename: 数据库文件"stu.db"
ppDb: 数据库指针,方便后面的操作函数执行sql语句对数据库文件的操作
返回值:
成功 sqlITE_OK
失败 错误码(非零值) 使用sqlite3_errmsg查看详细错误信息
sqlite3_close
int sqlite3_close(sqlite3 *ppDb);
功能:关闭数据库连接并释放所占用的内存
参数:
ppDb:待关闭的数据库对象
返回值:
如果数据库正在进行操作,返回sqlITE_BUSY
如果成功关闭,则返回sqlITE_OK
sqlite3_exec
int sqlite3_exec(
sqlite3 *ppDb,/* 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语句
参数:
ppDb:待操作的数据库对象
sql:sql语句,两条之间用分号隔开
callback:如果执行sql语句时返回一条记录,该函数会被调用一次
arg:传递给回调函数的第一个参数
errmsg:错误信息
返回值:
执行语句时发生错误:sqlITE_ABORT
正确执行完毕:sqlITE_OK
sqlite3_get_table
int sqlite3_get_table(
sqlite3 *db,/* An open database */
const char *zsql,/* sql to be evaluated */
char ***pazResult,/* Results of the query */
int *pnRow,/* Number of result rows written here */
int *pnColumn,/* Number of result columns written here */
char **pzErrmsg /* Error msg written here */
);
void sqlite3_free_table(char **result);
功能:获取执行sql语句后得到的表
参数:
db:待操作的数据库
zsql:要执行的sql语句
paxResult:查询后返回的表的数据
pnRow:表的行数
pnColumn:表的列数
pzErrmsg:错误信息
返回值:
成功:返回sqlITE_OK
失败:返回非sqlITE_OK的值
alter table student add sex char;
在表中删除字段@H_502_18@
create table worker as select id,name,score from student;
drop table student;
alter table worker rename to student;
在C中编程访问数据库
头文件@H_502_18@
#include <sqlite3.h>
API@H_502_18@
sqlite3_open
int sqlite3_open(
const char *filename,/* Database filename (UTF-8) */
sqlite3 **ppDb /* OUT: sqlite db handle */
);
功能:打开sqlite数据库
参数:
filename: 数据库文件"stu.db"
ppDb: 数据库指针,方便后面的操作函数执行sql语句对数据库文件的操作
返回值:
成功 sqlITE_OK
失败 错误码(非零值) 使用sqlite3_errmsg查看详细错误信息
sqlite3_close
int sqlite3_close(sqlite3 *ppDb);
功能:关闭数据库连接并释放所占用的内存
参数:
ppDb:待关闭的数据库对象
返回值:
如果数据库正在进行操作,返回sqlITE_BUSY
如果成功关闭,则返回sqlITE_OK
sqlite3_exec
int sqlite3_exec(
sqlite3 *ppDb,/* 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语句
参数:
ppDb:待操作的数据库对象
sql:sql语句,两条之间用分号隔开
callback:如果执行sql语句时返回一条记录,该函数会被调用一次
arg:传递给回调函数的第一个参数
errmsg:错误信息
返回值:
执行语句时发生错误:sqlITE_ABORT
正确执行完毕:sqlITE_OK
sqlite3_get_table
int sqlite3_get_table(
sqlite3 *db,/* An open database */
const char *zsql,/* sql to be evaluated */
char ***pazResult,/* Results of the query */
int *pnRow,/* Number of result rows written here */
int *pnColumn,/* Number of result columns written here */
char **pzErrmsg /* Error msg written here */
);
void sqlite3_free_table(char **result);
功能:获取执行sql语句后得到的表
参数:
db:待操作的数据库
zsql:要执行的sql语句
paxResult:查询后返回的表的数据
pnRow:表的行数
pnColumn:表的列数
pzErrmsg:错误信息
返回值:
成功:返回sqlITE_OK
失败:返回非sqlITE_OK的值
#include <sqlite3.h>