当前位置: 首页 > news >正文

网络(数据库1)

常用数据库:
1.关系型数据库:
将复杂的数据结构简化为二维表格形式
大型:0racle、DB2
中型:MySq1、sQLServer    小型:Sqlite
2.非关系型数据库以键值对存储,且结构不固定。//JSON
Redis         MongoDB

数据存储:

  变量、数组、链表                       内存 :程序运行结束、掉电数据丢失

  文件 :                                        外存:程序运行结束、掉电数据不丢失

  数据库:                                     外存:程序运行结束、掉电数据不丢失;专业的管理数据                 

sqlite3:
1.开源免费,c语言开发
2.代码量少,1万行左右,总大小10M以内
3.文件型数据库,可以移动
4.数据容量最大2T

sqlite3 xxx.db
1.  sqlite的命令
.help   查询手册
.tables   查看数据库中的表
.headers on/off  打开/关闭表头
.mode column   设置左对齐
.quit           退出数据库

2.  sqlite支持的SQL(结构化序列语言)语言

      数据类型:
INTEGER(INT): 整形
REAL(FLOAT):浮点型
TEXT:文本字符串类型
NULL :空

     (1) 创建一张表
create table 表名(列名1 数据类型, 列名2  数据类型, ....);

    (2) 插入表格
insert into 表名 values(值1, 值2, 值3, ...);

     (3)查询数据库中的表 
查询表中的所有数据:select * from 表名;
查找指定列: select 列名1,列名2  from 表名;

       条件查找: select * from 表名 where 列名 关系运算符 值;
关系运算符: = >  <   !=  >=  <=  or  (||)  and (&&)  
模糊查找: select * from 表名 where 列名 like "%梅";
% : 可以匹配多个字符
_  :   只能匹配一个字符
有序查找:
升序查找:select * from 表名 order by 列名 ASC;
降序查找:select * from 表名 order by 列名 DESC;

    (4)删除数据
delete from 表名 where 条件;
(5)修改数据
update 表名 set 列名=新值,列名=新值 where 条件;
(6) 删除表
drop table 表名;

    (7)获取时间    datetime();

       (8)主键值自动增长列(INTEGER)
create table class2(num INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, score REAL);

3. sqlite提供的C--- API接口

int sqlite3_open(const char *fliename,sqlite3 **ppDb);
功能:打开一个数据库文件
参数:

filename:文件名

ppDb:数据库句柄的地址

返回值:

成功:SQLITE_OK

失败:错误码

 const char *sqlite3_errmsg(sqliite3 *pdb);
功能:打印一个出错的错误信息
参数:

pdb:数据库句柄

返回值:错误码字符串

int *sqlite3_exec(sqliite3 *pdb,const chat *sql,int(*callback)(void *,int,char **,char **),void *,char **errmsg);
功能:执行sql语句
参数:

pdb:被执行的数据库

sql:要执行的sql语句

callback:回调函数(函数的指针)

int (*callback)(void* arg,int colum_n,char **column_value,char **column_name);
当使用select查询数据时,误触回调函数执行
参数:

arg:sqlite3_exrc传递的第四个参数

column_n:查询到的数据的列数

column_value:保存找到的每一列的元素的值

column_name:每一列的元素的名称。

注意:

回调函数一定要有一个返回值

有几条数据回调函数被触发几次  

arg:参数

errmsg:保存错误信息

返回值:

成功:SQLITE_OK

失败:错误码

http://www.dtcms.com/a/283492.html

相关文章:

  • oracle2kingbase的字段长度问题
  • STM32外设介绍4(ADC)
  • Windows11怎样禁止应用开机启动
  • 评估遥感云雾浓度的无参化指标(适用于其它合成雾的场景)
  • 【JVM】内存分配与回收原则
  • leetcode 3201. 找出有效子序列的最大长度 I II
  • 演示数据库操作
  • 测试学习之——Pytest Day2
  • 《十万线段绘乾坤:Canvas离屏渲染深度剖析》
  • 低代码深度切入制造业需求的实践路径
  • 在 CentOS 8 上彻底卸载 Kubernetes(k8s)
  • 每日钉钉API探索:requestAuthCode网页应用(H5微应用)免登授权
  • 【leetcode】1422. 分割字符串的最大得分
  • 创建SprngBoot项目的四种方式
  • FreeRTOS中断管理STM32
  • 【Java】【力扣】20.有效的括号
  • 基于迁移学习的培养基配方开发方法
  • XSS-LABS的Level1-8
  • Python —— 真题三
  • NumPy 详解
  • 【static 修饰局部变量、全局变量、函数】
  • Swift6.0 - 5、基本运算符
  • 账户和组管理
  • JavaEE——死锁
  • PowerBI实现仅在需要图表时显示图表
  • 傅里叶变换算子性质证明
  • GTSuite许可管理常见问题及解决方案
  • 基于FPGA的IIC控制EEPROM读写(1)
  • Mybatis07-逆向工程
  • 《python语言程序设计》2018版第8章5题编写函数统计特定不重复字符串s2在s1中的出现次数