嵌入式系统学习Day35(sqlite3数据库)
一.数据库
1、分类:大型中型小型
ORACLEMYSQL/MSSQL : SQLITE DBll powdb
关系型数据库
2、名词:
DB数据库 select update database
DBMS数据库管理系统
MIS管理信息系统
OA办公自动化
3、嵌入式数据库:
sqlite3www.sqlite.org www.kernal.org
GNU
特点:
1、开源 C语言开发
2、代码量少1万行左右,总大小10M以内
3、绿色软件无需安装
4、文件型数据库,可以移动。
5、数据容量最大 2T
二.基础命令
在我们进入到数据库时 .help可以查看所有命令。
这里没有截全,我们只看重点的命令
1. .databases
列出所附库的名称及文件信息
2. .exit
tuichu
3. .headers on|off
打开或关闭表头
4. .help
5. .schema
显示建表语句
6. .tables
类似于ls命令
三.标准SQL语句
注意:所有的sql语句都以;结尾。
1.创建一个表
create table 表名(表字段1,表字段2,...);
eg: create table user(id,name,age);
注意:以上表的表字段,支持如下数据类型。int text (长文本字符串)real (浮点型数据)blob(二进制数据)
默认是text类型。char
create table 表名(表字段 类型,表字段 类型,...);
eg:
create table user(id int ,name char,age int);
2.删除一个表
drop table 表名;
eg : drop table user;
数据库常规操作:增加 删除修改查询
3.向表中增加数据
insert into 表名(字段名称)values (值名称);
eg:insert into user (id,age) values (1,10);
insert into user values(3,"wang",11);
insert into user (age) values ( 12);
4.查询表中的数据
select 列名 from 表名 条件 ;
eg : select * from user ;
select id from user
5.修改表中数据
update 表名 set 表字段 = 值 满足条件
eg : update user set id = 1 where name = 'li';
update user set id = 1 where name = "li" and passwd = "123";
update user set id = 2 where name = "li" or name = "zhao";
6.删除表中数据
delete from 表名满足条件
eg:delete from user;///删除表中所有数据
delete from user where id = 1; ///删除id=1 的数据 ;
delete from user where id =1 and name = "zhang";
delete from user where id = 1 or id = 2;
四.简单C语言示例(向表中增加一条数据)
#include <stdio.h>
#include <sqlite3.h>int main(int argc, char **argv)
{sqlite3* db=NULL;char * errmsg=NULL;int ret = sqlite3_open("./aaa.db",&db);if(SQLITE_OK !=ret){fprintf(stderr," sqlite3_open %s\n",sqlite3_errstr(ret));sqlite3_close(db);return 1;}char sql_cmd[]="insert into user values(11,'li1si',20);";ret = sqlite3_exec(db,sql_cmd,NULL,NULL,&errmsg);if(SQLITE_OK !=ret){fprintf(stderr," sqlite3_exec sql_cmd:[%s] %s\n",sql_cmd,errmsg);sqlite3_free(errmsg);sqlite3_close(db);return 1;}sqlite3_close(db);return 0;
}
使用函数可以从https://www.sqlite.org/此网站。