sqlite3 数据库


sqlite3 数据库

SQLite是一个软件库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。SQLite是一个增长最快的数据库引擎,这是在普及方面的增长,与它的尺寸大小无关。SQLite 源代码不受版权限制。

linux下使用步骤

1.sqlite3 数据库的安装

(1).本地安装

sudo dpkg  -i *.deb

(2).在线安装

sudo apt-get install-sqlite3

2.SQLITE3 基本命令(所有数据库通用)

(1).系统命令

以 . 开头的命令
.help 帮助
.quit 退出
.exit 退出
.schema 查看创建的表的结构图    .schema  <table_name>
.databases 查看打开的数据库
.table 查看当前数据库下的表格

(2).系统命令

(基本的sql不以 ,开头 以 ;结尾的命令)

创建一张数据库的表 eg:stu

create table stu (id Integer , name char  , score Integer);

删除表

drop  table  <table_name> ;

插入一条记录

insert into stu values(1001,"zhangsan",80);   双引号与单引号效果相同

部分插入一条记录

insert  into  <table_name>  values (value1, value2,…);
eg: insert into stu (name , score) values(1003,"wangwu");

查询所有字段记录

select  *  from  <table_name>;         
eg:select * from stu;   查询stu表中所有的字段

查询部分字段

select name , score from stu;  查询stu中的部分字段(name和score)

按条件查找

select  *  from  <table_name>  where  <expression>;
eg: select * from stu where score=80;
eg: select * from stu where score=80 and name='zhangsan';    根据部分条件查找字段同时满足两个条件
eg: select * from stu wherr score=80 or name='lisi';  查询满足任意一个条件的字段

删除一条记录

delete  from  <table_name>  where  <expression>;
eg: delete from stu;  删除整个字段
eg: delete from stu where 80; where后跟条件 删除满足条件的字段  and和or 也可以使用

更新一条记录

update  <table_name>  set  <f1=value1>, <f2=value2>…   where  <expression>;  
eg: update stu set name = 'wangwu' where id =1001;
eg: undate stu set name = 'wangwu' ,score = 88 where id =1001;   同时更改多个用 , 隔开

向表中插一列

 alter table  <table> add column <field> <type> default  …; 
 eg: alter table stu add colum address char;  插入新的列 address char

删除一列

sqlite3 不支持直接删除一列
删除原有的表
drop table stu;
将新表的名字改成原有的旧表的名字
alter table stu1 rename to  stu;

3.SQLite编程接口

打开数据库

int sqlite3_open(char *path,sqlite3 **db);
功能:打开sqlite数据库
path:数据库文件路径
db:指向sqlite句柄的指针
返回值:成功返回0,失败返回错误码(非零值)

关闭数据库

int  sqlite3_close(sqlite3 *db);
功能:关闭sqlite数据库
返回值:成功返回0,失败返回错误码

错误信息

const char *sqlite3_errmg(sqlite3 *db);
返回值:返回错误信息地址

回调函数

功能:查询的结果,是一个函数指针类型,传递一个函数名即可

Typedef  int (*sqlite3_callback)(void*, int,char**, char **);

常见函数

int sqlite3_exec(sqlite3 *db, const  char  *sql, sqlite3_callback callback, void *, char **errmsg);
功能:执行SQL语句
db:数据库句柄
sql:SQL语句
callback:回调函数 只有sql为查询语句的时候,才会执行此语句
void * :给回调函数传参 
errmasg:错误信息指针的地址
返回值:成功返回0,失败返回错误码

int (*sqlite3_callback)(void *para, int f_num,char **f_value,char **f_name);
―功能:每找到一条记录自动执行一次回调函数
―para:传递给回调函数的参数
―f_num:记录中包含的字段数目
―f_value:包含每个字段值的指针数组
―f_name:包含每个字段名称的指针数组
―返回值:成功返回0,失败返回-1

不适用回调函数 int   sqlite3_get_table(sqlite3 *db,const  char  *sql,  char ***resultp,  int*nrow,  int*ncolumn,char **errmsg);
―功能:执行SQL操作
―db:数据库句柄
―sql:SQL语句
―resultp:用来指向sql执行结果的指针
―nrow:满足条件的记录的数目
―ncolumn:每条记录包含的字段数目
―errmsg:错误信息指针的地址
―返回值:成功返回0,失败返回错误码
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值