嵌入式系统学习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语言示例(向表中增加一条数据)

cs 复制代码
#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/此网站。

相关推荐
QXWZ_IA1 小时前
边坡监测预算有限时的建设顺序:虚拟基准站与成本账
网络·数据库
留岁1 小时前
大模型推理部署 · 学习文档
学习
这个DBA有点耶1 小时前
1亿条向量内存降95.4%,延迟降80%:金仓AI原生内核真能解决RAG痛点?
数据库·人工智能·开源
Y3815326621 小时前
用 httpx 写 SerpBase 异步客户端:连接池与超时配置
运维·服务器·数据库
c_hn_0071 小时前
量化数据12:国内期货L2历史数据:Tick、逐笔、五档盘口一次性打包下载
数据库·1024程序员节·#深度订单簿数据·#历史行情订单薄·#本地csv数据存储
GeW2 小时前
从"补短板"到"强优势"Linux与数据库认证成为产业跃迁人才支点
linux·数据库
小李不想当小白2 小时前
BKP备份寄存器与RTC实时时钟(STM32标准库学习笔记)
笔记·stm32·单片机·嵌入式硬件·学习·嵌入式
数据库小学妹2 小时前
MySQL NULL陷阱:NOT IN、三值逻辑与NOT EXISTS
数据库·后端·mysql
SelectDB2 小时前
Doris 异步物化视图实战:与 Snowflake MV / Dynamic Tables 分层建模对照
大数据·数据库·云原生
枫昕柚2 小时前
MySQL 建库命令详解:从 CREATE DATABASE 到create table
数据库·mysql