zbSQL规范——一个简化的SQL子集和可移植实现

本文介绍zbSQL规范,一种简化版SQL,专为内存数据库设计,支持基本DML和DDL指令,便于开发和维护。zbSQL包含字段、表、索引和序列管理,提供简洁的数据操作接口。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

zbSQL规范

张博 2017.7.3

适用于内存数据库1.5以及使用内存数据库为基础的云内存数据库、云管理平台等

  1. 概述

zbSQL规范是简化的SQL,支持简单的DML和DDL语言,可作为内存数据库的开发和维护接口。

zbSQL的DML语句为标准SQL的子集,保证在任何数据库之间无需修改直接迁移的能力(当然,需要在相应的数据库接口下执行)。

zbSQL的DDL语句是按照内存数据库自身特点自行设计的,简洁明了。

zbSQL包括字段、表、索引和序列,表可以包含多个索引,序列独立。

  1. 标识符

字母或下划线开始的连续字母数字下划线串

可带负号的isxdigit()串

单引号包裹的内容

双引号包裹的内容

标识符不区分大小写

  1. 关键字

select from where order by update delete insert into set

关键字不区分大小写,不能用作列名、表名等

  1. 注释和脚本

支持三种注释格式:

         “--” “//” “/*     */”

         多个语句可以用分号分隔,一次执行

  1. DML(可移植)
    1. select查询

select 列清单 from 表名 where 条件

列清单暂时只支持*,最多返回一万行

条件只能是“列名 操作符 值”,多个条件只能用“and”连接,暂不支持“or”

操作符:= <> > < >= <=

         暂不支持Order by,根据where条件自动选择索引查询输出,无where条件则使用索引“PK”输出

    1. insert into插入

insert into 表名(列清单)values(值清单)

列清单逗号分隔

值清单逗号分隔

    1. update更新

update 表名 set 列名=值,… where 条件

where子句可选,条件格式同select语句

    1. delete 删除

delete from 表名 where 条件

where子句可选,条件格式同select语句

  1. DDL(不可移植)
    1. createtable创建表

createtable 表名(列名 数据类型 PK comment 列注释,…)comment 表注释

数据类型包括long\double\string,不区分大小写

PK可选,但整个表必须指定主键

comment可选

    1. droptable删除表

droptable 表名

    1. sequence序列

sequence 序列名 INIT/GET/NEXT 初值/增量

init设置初值,如果已经存在现存值丢失

get 获得当前值

next 获得下一个值,同时当前值增加,可指定增量,默认为1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值