数据库的基本概念

本文介绍了轻量级开源数据库Sqlite3,它适用于嵌入式设备,讲述了关系数据库的基本概念(E-R模型、元组、属性等),数据操作语言(DML)如增删改查,以及数据查询语言(DQL)。还详细讲解了如何使用SQL语句进行数据库操作,包括约束、主键、外键和默认值等特性。
摘要由CSDN通过智能技术生成

Sqlite3 : 轻量级的开源的关系型数据库,很适合在嵌入式设备上使用。

关系数据库

        关系数据库是建立在E-R关系模型上的数据库即:数据与数据之间是有关系的

1.单一的数据结构 ---- 关系

2.元组(记录)
            表中的一行即为一个元组,或者一条记录

3.属性(字段)
            数据表中的每一列称之为一个字段,表是由多个字段组成的。
            每一列的标题称之为 字段名 。如果给关系型数据库中的每一个
            关系表取一个名字,则一个有n个字段的关系表可以表示为: 
                关系表名(字段1,字段2,字段3,......,字段n)
                    如: 

5.E-R模型(可以描述限时世界中的关系模型)

创建一个表: 
                    create table 
                删除一个表:
                    drop table 
                修改一个表: 
                    alter table 

DML(Data Manipulation Language) 数据操作语言 
            增删改查  
            insert 
            delete 
            update 

DQL(Date Query Language) 数据查询语言 
            select 从数据库中获取/查询数据

“约束”: 可选的(可要可不要) 
            用来规定该属性的一些特殊要求。
            
            not null : 此字段不能为空
            unique : 此字段唯一(不能重复) 指定一列或者多列的组合值,使其具有唯一性
            primary key :主键,各条记录的主键不能相同,而且不能为空
                注意: 一张表格里面只能有一个主键约束。
            foregin key :外键, 这一列在其他的表中是主键,在自己的表中不是主键 
            check : 核对 
                用于限制属性值的范围
                如: 
                    我想让表格中的数据 age 在[15,25]
                    age integer(3) check(age>=15 and age<=25)
                    
            default :默认值 
                如果给某字段进行 default约束,那么这一列数据可以省略
                (系统自动添加默认的值)
                如: 

3.利用SQL语句对象操作数据库 
            sqlite3_prepare_v2(); //准备一个SQL语句对象
            sqlite3_bind_*() ; //绑定参数
            sqlite3_step(); //执行SQL语句
            sqlite3_column(); //输出查询到的数据库的数据
            sqlite3_finalize(); //释放资源,销毁SQL语句对象4
            
            sqlite3_exec();

引用\[1\]:..\OBJ\project.sct(7): error: L6235E: More than one section matches selector - cannot all be FIRST/LAST. 引用\[2\]:经过半天的查找问题,终于揪出STM32.sct(7): error: L6236E: No section matches selector - no section to be FIRST/LAST.的问题。 引用\[3\]:编译 GD32F103 自建工程时,报以下错误: .\Objects\template.sct(7): error: L6235E: More than one section matches selector - cannot all be FIRST/LAST. Not enough information to list image symbols. Not enough information to list the image map. ".\Objects\template.axf" - 1 Error(s), 0 Warning(s). Target not created. Build Time Elapsed: 00:00:01 二、原因。问题:linking... WIFI\WIFI.sct(7): error: L6236E: No section matches selector - no section to be FIRST/LAST. 回答: 这些错误信息都是与链接器脚本相关的错误。在编译过程中,链接器负责将各个目标文件合并成最终的可执行文件。而链接器脚本则用于指导链接器的操作,包括定义内存布局、段的起始地址等。在这些错误中,L6235E和L6236E都是链接器的错误代码,分别表示多个段匹配选择器和没有段匹配选择器。这些错误通常是由于链接器脚本中的段选择器与实际的段不匹配导致的。可能的原因包括选择器拼写错误、段名称错误或者段定义错误。要解决这些错误,您需要检查链接器脚本中的段选择器,并确保它们与实际的段名称匹配。如果有多个段匹配了同一个选择器,您需要修改链接器脚本以解决冲突。 #### 引用[.reference_title] - *1* [MDK5报错error: L6235E: More than one section matches selector - cannot all be FIRST/LAST.](https://blog.csdn.net/m0_47700906/article/details/120811911)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [STM32.sct(7): error: L6236E: No section matches selector - no section to be FIRST/LAST.的问题。](https://blog.csdn.net/u010893262/article/details/52911652)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [Keil提示错误信息error: L6235E: More than one section matches selector - cannot all be FIRST/LAST.](https://blog.csdn.net/qq_36347513/article/details/123919187)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值