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)和分页查询。

相关推荐
睡不醒男孩0308234 小时前
第二篇:深入探索开源数据库高可用:构建基于CLup的PostgreSQL生产级高可用与读写分离架构
数据库·postgresql·开源·clup
Micro麦可乐6 小时前
Spring Boot 实战:从零设计一个短链系统(含完整代码与数据库设计)
数据库·spring boot·后端·哈希算法·雪花算法·短链系统
码农阿豪6 小时前
从零到一:Spring Boot快速接入金仓数据库实战
数据库·spring boot·后端
鼎讯信通7 小时前
风电光缆运维提质增效:G-4000A 光缆故障追踪仪破解风场巡检难题
运维·网络·数据库
ZC跨境爬虫7 小时前
跟着 MDN 学JavaScript day_7:数学运算与逻辑判断实战测试
开发语言·前端·javascript·学习·ecmascript
三十..7 小时前
MySQL 从入门到高可用架构实战精要
运维·数据库·mysql
凌云拓界7 小时前
文件管理:让AI安全操作你的电脑 ——CogitoAgent开发实战(三)
javascript·人工智能·架构·开源·node.js
cfm_29148 小时前
Redis五大基本数据结构底层了解
数据结构·数据库·redis
凌云拓界8 小时前
联网能力:让AI看见更广阔的世界 ——CogitoAgent开发实战(四)
javascript·人工智能·架构·node.js·创业创新
真实的菜8 小时前
Redis 从入门到精通(十二):典型业务场景实战 —— 排行榜、限流器、秒杀系统、Session 共享
数据库·redis·python