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

SQL实战篇,数据库在Kooboo中的实际应用(一)

本文将结合实际操作与代码示例,展示SQL 在 Kooboo 中的实际应用

仅需两步:动态创建表 + 基础查询,无需复杂配置,快速上手!


一、动态创建表:插入数据

Kooboo 支持多种数据库,以 SQLite 为例,在数据插入方面提供了灵活的方式。既可以通过传统的先建表、定义字段,再插入数据的方式;也支持动态插入,即无需手动建表!当插入数据时若表或字段不存在时,会自动创建相应字段。

  • 在创建完站点后,进入编辑菜单 -> 选择数据库类型


    示例:创建 user 表:
    // 1. 定义数据对象
    var obj = {}
    obj.id = '1';  // 主键(若不指定,系统自动生成Guid)
    obj.id = '2';
    obj.name = '王强'
    obj.name = '老六'
    obj.phone = '10086';k.DB.sqlite.user.add(obj);  // 自动创建表及字段


    验证表结构

    1. 关闭开发者模式,进入后台  

    2. 站点 > 控制面板 > 预览路径 > 数据库 > Sqlite 表 > user,可查看自动生成的表结构:

     二、查询数据

    Kooboo 系统内置多种查询方式:

    • 原生 SQL 查询通过 k.DB.sqlite.query 方法执行标准 SQL 查询语句,这种方式借助 SQL 强大的查询功能,可实现复杂的数据筛选、排序等操作,适用于对查询结果有精细要求的场景。
      // 方法一:原生SQL查询
      var list = k.DB.sqlite.query("SELECT * FROM user");  // 从 user 表中查询所有记录
    • 封装方法查询find 和 findAll 方法提供字段匹配查询功能。能根据指定字段和匹配值快速查找记录。这种封装后的查询方式简单易用,适合简单条件查询场景。
      // 方法二:数据库封装查询
      var list = k.DB.sqlite.user.find("name =='老六'"); // 方法三:基于JSON对象查询
      // var list = k.DB.sqlite.user.findAll({phone : "10086"});
    • 基于JSON对象查询:通过 find 和 findAll 方法,可以直接用 JSON 对象作为查询条件,无需手动拼接 SQL。

    三、基础语法对比
    方法作用示例代码
    find返回 第一条匹配记录k.DB.sqlite.user.find({name: "老六"})
    findAll返回 所有匹配记录k.DB.sqlite.user.findAll({phone: "10086"})
    四、修改表结构

    直接插入新字段即可,Kooboo 会自动扩展表:

    // 新增 position 字段
    var user = { name: "李四", position: "工程师" };  
    k.DB.sqlite.user.add(user);  
    k.DB.SaveChanges();  

    此外,Kooboo 还提供了 execute 方法来执行 SQL 语句,如 k.DB.sqlite.execute("DELETE FROM Customer"); 可执行删除操作,满足了数据库操作的多样化需求。
     

    总结

    • 创建表:插入数据时自动完成,无需手动定义

    • 查询数据

      • all() 获取全部数据

      • find("字段名", 值) 精确匹配

      • query(SQL) 执行原生语句

    • 验证结果:通过后台管理界面实时查看数据

    下一步学习建议
    掌握条件查询运算符(如 GTLTCONTAINS)和分页查询。

    相关文章:

    SQL实战篇,数据库在Kooboo中的实际应用(一)

    本文将结合实际操作与代码示例,展示SQL 在 Kooboo 中的实际应用 仅需两步:动态创建表 基础查询,无需复杂配置,快速上手! 一、动态创建表:插入数据 Kooboo 支持多种数据库,以 SQLite 为例&…...

    Matlab 调制信号和fft变换

    1、内容简介 Matlab 194-调制信号和fft变换 可以交流、咨询、答疑 2、内容说明 略 3、仿真分析 略 4、参考论文 略...

    2025年的Android NDK 快速开发入门

    十年前写过一篇介绍NDK开发的文章《Android实战技巧之二十三:Android Studio的NDK开发》,今天看来已经发生了很多变化,NDK开发变得更加容易了。下面就写一篇当下NDK开发快速入门。 **原生开发套件 (NDK) **是一套工具,使开发者能…...

    opensuse Tumbleweed虚拟机上安装

    值得一提的是cpu需要给多一点核,不然压力都集中在一个点上温度会比较高,然后就是可能无法正常运行这个安装界面。 前面好像是半自动的,一直到这里选择桌面界面需要手动选择 这边必然选大蜥蜴的kde,那个蜥蜴菜单还是很好看的。 …...

    AI避坑:AI生成的文件格式不一定对

    今天就碰到了原来正确的文件,AI生成后文件变味UTF-8 BOM文件 导致MAUI解析出错An error occured while parsing Xaml: 根级别上的数据无效。 第 1 行,位置 1 解决方案: 将文件用文本编辑器打开,另存为UTF-8格式文件...

    蓝桥杯真题-危险系数DF

    抗日战争时期,冀中平原的地道战曾发挥重要作用。 地道的多个站点间有通道连接,形成了庞大的网络。但也有隐患,当敌人发现了某个站点后,其它站点间可能因此会失去联系。 我们来定义一个危险系数DF(x,y): 对于两个站点x和…...

    四、TorchRec的推理优化

    四、TorchRec的推理优化 文章目录 四、TorchRec的推理优化前言一、TorchRec 推理优化的两个主要区别是二、TorchRec 提供了以下内容,以将 TorchRec 模型转换为可用于推理的模型总结 前言 推理环境与训练环境不同,它们对性能和模型大小非常敏感。 一、To…...

    Linux 系统中从源码编译安装软件

    以下是 Linux 系统中 从源码编译安装软件 的详细步骤和注意事项,帮助你掌握这一高级操作技能: 一、编译安装的核心流程 1. 下载源码包(通常为 .tar.gz/.tar.bz2/.tar.xz) 2. 解压源码包 3. 进入源码目录 4. 配置编译参数&#xf…...

    【AI论文】OLMoTrace:将语言模型输出追溯到万亿个训练标记

    摘要:我们提出了OLMoTrace,这是第一个将语言模型的输出实时追溯到其完整的、数万亿标记的训练数据的系统。 OLMoTrace在语言模型输出段和训练文本语料库中的文档之间找到并显示逐字匹配。 我们的系统由扩展版本的infini-gram(Liu等人&#xf…...

    BeautifulSoup 踩坑笔记:SVG 显示异常的真正原因

    “这图是不是糊了?”以为是样式缺了?试试手动复制差异在哪?想用对比工具一探究竟……简单到不能再简单的代码,有问题吗?最后的真相:viewBox vs viewbox,preserveAspectRatio vs preserveaspectr…...

    ai-warp 开源的Platformatic Stackable 与 AI 服务交互

    一、软件介绍 文末提供程序和源码下载学习 ai-warp 开源的Platformatic Stackable 与 AI 服务交互 二、用法 npx create-platformaticlatestSelect Application, then platformatic/ai-warp 选择 Application(应用程序 ),然后选择 platfor…...

    AI比人脑更强,因为被植入思维模型【53】反熵增思维模型

    giszz的理解:熵用来形容系统的混乱程度。熵增就是从有序到无序,反熵增就是从无序到有序。其实阴阳二级,世界总是在变化之中。保持清醒的头脑,认识到当前是有序还是无序的,如何改变,让事物向着自己希望的方式…...

    408 计算机网络 知识点记忆(8)

    前言 本文基于王道考研课程与湖科大计算机网络课程教学内容,系统梳理核心知识记忆点和框架,既为个人复习沉淀思考,亦希望能与同行者互助共进。(PS:后续将持续迭代优化细节) 往期内容 408 计算机网络 知识…...

    DDR管脚违例

    管脚验证,出现上述违例 上述警告是IO电平配置存在冲突,主要原因是这里配置没有显示电平特性,那么vivado工具默认是生成IP的底层的代码中自带的XDC的电平,这个就冲突了。 出现这个的主要原因还是vivado某个版本工具存在漏洞&#x…...

    25年河南事业单位报名详细流程图解

    1.报名时间为2025年4月11日9∶00至4月17日17∶00; 2.网上缴费:2025年4月12日9:00至4月18日17:00; 3.打印准考证:2025年5月12日9∶00至5月18日14∶30; 4.笔试时间:2025年5月18日; 5.报名方式…...

    一维差分数组

    2.一维差分 - 蓝桥云课 问题描述 给定一个长度为 n 的序列 a。 再给定 m 组操作,每次操作给定 3 个正整数 l, r, d,表示对 a_{l} 到 a_{r} 中的所有数增加 d。 最终输出操作结束后的序列 a。 ​​Update​​: 由于评测机过快,n, m 于 20…...

    Windows 录音格式为什么是 M4A?M4A 怎样转为 MP3 格式

    M4A 格式凭借其高效的压缩技术和卓越的音质表现脱颖而出,成为了包括 Windows 在内的众多操作系统默认的录音格式选择。然而,尽管 M4A 格式拥有诸多优点,不同的应用场景有时需要将这些文件转换为其他格式以满足特定需求。 本文将探讨 M4A 格式…...

    【KWDB 创作者计划】第一卷:基础架构篇

    以下是KWDB技术白皮书第一卷:基础架构篇的完整内容展示,包含要求的三个核心章节的深度解析。我们将以技术严谨性结合可读性的方式呈现,实际交付时会进一步扩展示意图和代码示例。 目录 ​KWDB技术白皮书卷一:基础架构篇 ​1. 数…...

    分享一些使用DeepSeek的实际案例

    文章目录 前言职场办公领域生活领域学习教育领域商业领域技术开发领域 前言 以下是一些使用 DeepSeek 的实际案例: DeepSeek使用手册资源链接:https://pan.quark.cn/s/fa502d9eaee1 职场办公领域 行业竞品分析:刚入职的小李被领导要求一天内…...

    华清远见成都中心嵌入式学习总结

    一、Linux 基础入门 课程首先介绍了 Linux 系统的六大特性,包括开源、免费、可裁剪等核心优势。重点讲解了文件系统结构,强调根目录(/)作为唯一入口的树状结构。通过实操学习了 pwd、ls、cd 等基础命令,掌握了绝对路径…...

    【13】数据结构之树结构篇章

    目录标题 树Tree树的定义树的基本概念树的存储结构双亲表示法孩子表示法孩子兄弟表示法 二叉树二叉树与度不超过2的普通树的不同之处二叉树的基本形态二叉树的分类二叉树的性质 二叉树的顺序存储二叉树的链式存储二叉树的链式存储的结点结构树的遍历先序遍历中序遍历…...

    SAP GUI 显示SAP UI5应用,并实现SSO统一登陆

    想用SAP UI5 做一写界面,又不想给用户用标准的Fiori APP怎么办?我觉得可以用可配置物料标准功能的思路,在SAP GUI中显示UI5界面,而不是跳转到浏览器。 代码实现后的效果如下: 1、调用UI5应用,适用于自开发…...

    Linux环境变量详解

    引言 在Linux系统中,环境变量是一种非常重要的概念,它影响着系统的运行方式和应用程序的行为。无论你是Linux新手还是经验丰富的管理员,深入理解环境变量都能帮助你更高效地使用和管理Linux系统。本文将从基础概念到高级应用,全面…...

    【antd + vue】Tree 树形控件:默认展开所有树节点 、点击文字可以“选中/取消选中”节点

    一、defaultExpandAll 默认展开所有树节点 1、需求:默认展开所有树节点 2、问题: v-if"data.length"判断的层级不够,只判断到了物理那一层,所以只展开到那一层。 3、原因分析: 默认展开所有树节点, 如果是…...

    专题三——二分查找

    目录 一、二分查找 1、题目 2、解题思路 3、代码实现 4、时间复杂度 5、朴素二分法的模板总结 二、在排序数组中查找元素的第一个和最后一个位置 1、题目 2、题目解析 3、代码实现 4、 模板总结(重点) 三、x的算法平方根 1、题目 2、 题目解…...

    从零实现HTTP服务器

    响应: 第一部分测试代码,读取请求 Makefile binhttpserver #生成的可执行程序 ccg #编译器名称 LD_FLAGS-stdc11 -lpthread #-DDEBUG1 #链接选项 srcmain.cc$(bin):$(src)$(cc) -o $ $^ $(LD_FLAGS).PHONY:clean clean:rm -f $(bin) 1111111 main.cc…...

    智能检索知识库​

    一、智能检索知识库作用 1. 提升信息检索效率,降低人力成本 快速获取精准答案:员工无需手动翻阅大量文档(如产品手册、合同、技术文档),直接通过自然语言提问获取答案。 减少重复性工作:HR、客服、技…...

    北斗导航 | 接收机自主完好性监测(RAIM)算法学习思路总结及其算法研究:理论、实现与验证

    ===================================================== github:https://github.com/MichaelBeechan CSDN:https://blog.csdn.net/u011344545 ===================================================== 接收机自主完好性监测学习思路 壹、学习思路贰、理论、实现与验证1. 引…...

    无法读取库伦值文件节点解决方案

    读取库伦值的目的是为了换算成电流,量化场景功耗用途 1.报错日志 /power_log/debuglogger$ adb shell dmesg | grep -Ei "avc..system_server"[ 79.942272] logd.auditd: type1400 audit(1744279324.832:7149): avc: denied { read } for comm"…...

    OCR API识别对比

    OCR 识别DEMO OCR识别 demo 文档由来 最开始想使用百度开源的 paddlepaddle大模型 研究了几天,发现表格识别会跨行,手写识别的也不很准确。最终还是得使用现成提供的api。。 文档说明 三个体验下来 腾讯的识别度比较高,不论是手写还是识别表…...

    高速电路设计概述

    1.1 低速设计和高速设计的例子 本节通过一个简单的例子,探讨高速电路设计相对于低速电路设计需要考虑哪些不同的问题。希望读者通过本例,对高速电路设计建立一个表象的认识。至于高速电路设计中各方面的设计要点,将在后续章节展开详细的讨论…...

    Keil C51中32位变量赋值异常问题分析与解决

    Keil C51中32位变量赋值异常问题分析与解决 问题描述 在使用Keil5对51单片机进行编程时&#xff0c;遇到一个32位变量赋值不正确的问题。具体代码如下&#xff1a; typedef unsigned long uint32;g_Flow_Time (uint32)Storage[2] << 24 | Storage[3] << 16 | S…...

    python工程中的包管理(requirements.txt)

    pip install -r requirements.txtpython工程通过requirements.txt来管理依赖库版本&#xff0c;上述命令&#xff0c;可以一把安装依赖库&#xff0c;类似java中maven的pom.xml文件。 参考 [](...

    用Python修改字体字形与提取矢量数据:fontTools实战指南

    字体设计与分析是NLP和视觉领域的交叉应用&#xff0c;而**fontTools** 是一款强大的Python库&#xff0c;可以让我们直接操作字体文件的底层结构。本文将通过两个实用函数&#xff0c;展示如何修改特定字形和提取所有字形的矢量数据&#xff0c;帮助开发者快速上手字体编辑与分…...

    数据库守护神-WAL机制

    什么是WAL机制&#xff1f; WAL&#xff08;Write-Ahead Logging&#xff0c;预写日志&#xff09;是一种保证数据库操作原子性和持久性的核心机制。其核心原则可概括为&#xff1a; 任何数据修改操作&#xff0c;必须在对应的日志记录持久化到磁盘之后&#xff0c;才能将实际…...

    [MySQL]数据库与表创建

    欢迎来到啾啾的博客&#x1f431;。 这是一个致力于构建完善 Java 程序员知识体系的博客&#x1f4da;。 它记录学习点滴&#xff0c;分享工作思考和实用技巧&#xff0c;偶尔也分享一些杂谈&#x1f4ac;。 欢迎评论交流&#xff0c;感谢您的阅读&#x1f604;。 本篇简单记录…...

    工作记录 2015-05-27

    工作记录 2015-05-27 序号 工作 相关人员 1 修改了指定短语的大小写的处理。 取消了一些逗号的处理。 郝 另&#xff1a; iCDA更新到了190的D:\Temp\CHTeam\iCDA_20150527下了 修改的文件&#xff1a; bin目录下是程序。 0223目录下是0223的一些设置和关键字。 更新…...

    嵌入式汇编语言从小白到入门:从零开始的底层编程之旅

    嵌入式汇编语言从小白到入门:从零开始的底层编程之旅 汇编语言作为最接近机器语言的编程方式,在嵌入式开发中扮演着不可替代的角色。本文将带你从零开始,逐步掌握嵌入式汇编语言的核心概念和实践技巧,最终能够独立编写简单的汇编程序并与C语言混合编程。 一、汇编语言与嵌…...

    GPIO_ReadInputData和GPIO_ReadInputDataBit区别

    目录 1、GPIO_ReadInputData: 2、GPIO_ReadInputDataBit: 总结 GPIO_ReadInputData 和 GPIO_ReadInputDataBit 是两个函数&#xff0c;通常用于读取微控制器GPIO&#xff08;通用输入输出&#xff09;引脚的输入状态&#xff0c;特别是在STM32系列微控制器中。它们之间的主要…...

    不使用docker在本地安装与配置RAGFlow

    RAGFlow 本地安装与配置(非docker方式) 一. 运行环境 windows10 CPU i7-12700F 2.10GHz内存 32GGPU RTX 4060 Ti 8G wsl 2 Ubuntu-22.04 1. 防火墙配置 wsl默认访问windows的本机服务需要配置防火墙&#xff0c;否则访问会失败。 windows10的防火墙配置&#xff1a; 打…...

    sysfs 设备模型

    介绍 Sysfs 设备文件系统与proc是同一类的文件系统&#xff0c;基于ramfs实现的内存文件系统。 1.1 为什么会有 sysfs&#xff1f;procfs 的局限性&#xff1a; 早期&#xff0c;Linux 使用 procfs 来提供内核与用户空间的交互接口。但 procfs 的设计不够层次化&#xff0c;设…...

    彩讯携Rich AICloud与一体机智算解决方案亮相中国移动云智算大会

    2025年4月10日&#xff0c;2025中国移动云智算大会在苏州盛大开幕&#xff0c;本次大会以“由云向智 共绘算网新生态”为主题&#xff0c;与会嘉宾围绕算力展开重点探讨。 大会现场特设区域展出各参会单位的最新算力成果&#xff0c;作为中国移动重要合作伙伴&#xff0c;彩讯…...

    js触发隐式类型转换的场景

    JavaScript 的隐式类型转换&#xff08;Implicit Type Coercion&#xff09;会在某些操作或上下文中自动触发&#xff0c;将值从一种类型转换为另一种类型。以下是常见的触发场景&#xff1a; 1. 使用 &#xff08;宽松相等&#xff09;比较时 会尝试将两边的值转换为相同类型后…...

    《AI大模型应知应会100篇》第9篇:大模型的推理能力:原理与实现

    第9篇&#xff1a;大模型的推理能力&#xff1a;原理与实现 摘要 近年来&#xff0c;随着大语言模型&#xff08;LLM&#xff09;的快速发展&#xff0c;其推理能力逐渐成为研究和应用中的热点话题。这些模型不仅能够生成流畅的文本&#xff0c;还能在一定程度上进行逻辑推理、…...

    PODS_ROOT、BUILT_PRODUCTS_DIR和SRCROOT有什么区别

    在 iOS/macOS 开发中&#xff0c;${PODS_ROOT}、${BUILT_PRODUCTS_DIR} 和 ${SRCROOT} 是三个核心的 Xcode 环境变量&#xff0c;它们的区别主要体现在 目录层级、内容归属 和 生命周期 上。以下是结构化对比和具体示例&#xff1a; 1. 定义与作用域对比 变量全称指向路径管理…...

    Elasticsearch 系列专题 - 第六篇:高级功能与生态系统

    Elasticsearch 不仅是一个强大的搜索引擎,还提供了高级功能和丰富的生态系统支持。本篇将深入探讨这些特性,并介绍如何与其他工具协同工作。 1. 高级特性 1.1 跨集群搜索(Cross-Cluster Search) 跨集群搜索允许查询多个独立集群的数据,适用于分布式系统。 配置远程集群:…...

    python的web框架flask(hello,world版)

    问题 最近需要基于一个开源项目进行二次开发&#xff0c;但是&#xff0c;现在的我主修java&#xff0c;从来没有接触过python的web开发。所以&#xff0c;我现在需要学习一下flask的hello&#xff0c;world。 python版本选择 通过这个Python版本状态页面Status of Python v…...

    Vue学习笔记 - 逻辑复用 - 组合式函数

    昨天参加了次视频面试&#xff0c;慢慢可以查漏补缺,继续学习Vue相关的知识&#xff0c;考虑找个实际的开源项目。 逻辑复用 组合式函数 在 Vue 应用的概念中&#xff0c;“组合式函数”(Composables) 是一个利用 Vue 的组合式 API 来封装和复用有状态逻辑的函数。 无状态的…...

    Caffeine的两种实现方式

    咱们来具体对比一下你之前给的这段配置代码&#x1f447;&#xff1a; java Configuration EnableCaching public class CacheConfig { Bean public CacheManager cacheManager() { CaffeineCacheManager manager new CaffeineCacheManager("myCache"); manager.…...

    单细胞Seurat标准分析流程R语言封装

    单细胞Seurat标准分析流程R语言封装 数据预处理与质控(线粒体基因比例计算、QC图表生成)标准化与高变基因筛选PCA/UMAP降维与聚类分析 差异表达分析模块自动化输出PNG可视化图表(质控小提琴图、UMAP聚类图)结果将保存在results/和figures/目录下(RDS对象、差异基因CSV表格…...