CN108920566A - 一种对SQLite数据库的操作方法、装置及设备 - Google Patents
一种对SQLite数据库的操作方法、装置及设备 Download PDFInfo
- Publication number
- CN108920566A CN108920566A CN201810644467.8A CN201810644467A CN108920566A CN 108920566 A CN108920566 A CN 108920566A CN 201810644467 A CN201810644467 A CN 201810644467A CN 108920566 A CN108920566 A CN 108920566A
- Authority
- CN
- China
- Prior art keywords
- database
- sqlite
- language
- operating instruction
- sql
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
Abstract
本申请公开一种对SQLite数据库的操作方法、装置及设备,该方法包括:创建任一种计算机语言的数据模型,所述数据模型中存储所述计算机语言的数据库操作指令的解析规则;与SQLite数据库连接后,当接收到任一条所述计算机语言的数据库操作指令时,从所述数据模型中获取所述数据库操作指令的解析规则;根据所述解析规则,对所述数据库操作指令进行解析,得到所述数据库操作指令的字段;根据所述数据库操作指令的字段,拼接所述数据库操作指令对应的SQL语言操作指令;基于所述SQL语言操作指令,对所述SQLite数据库进行操作。通过上述方法,前端开发人员可以利用自己熟悉的任一种计算机语言实现对SQLite数据库的操作,不需要开发人员均掌握SQL语言。
Description
技术领域
本申请涉及数据处理领域,具体涉及一种对SQLite数据库的操作方法、装置及设备。
背景技术
SQLite数据库是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它。
目前,对SQLite数据库的操作,如对数据库的一般增删改查操作,需要熟悉SQL语言的专业开发人员实现,但是,前端开发人员一般对SQL语言掌握能力较弱,不能完成对SQLite数据库的操作。
发明内容
为解决上述问题,本申请提供了一种对SQLite数据库的操作方法、装置及设备,具体技术方案如下:
第一方面,本申请提供了一种对SQLite数据库的操作方法,所述方法包括:
创建任一种计算机语言的数据模型,所述数据模型中存储所述计算机语言的数据库操作指令的解析规则;
与SQLite数据库连接后,当接收到任一条所述计算机语言的数据库操作指令时,从所述数据模型中获取所述数据库操作指令的解析规则;
根据所述解析规则,对所述数据库操作指令进行解析,得到所述数据库操作指令的字段;
根据所述数据库操作指令的字段,拼接所述数据库操作指令对应的SQL语言操作指令;
基于所述SQL语言操作指令,对所述SQLite数据库进行操作。
可选的,所述字段包括数据库表名;所述根据所述数据库操作指令的字段,拼接所述数据库操作指令对应的SQL语言操作指令之前,还包括:
判断SQLite数据库中是否存在所述数据库表名;
相应的,所述根据所述数据库操作指令的字段,拼接所述数据库操作指令对应的SQL语言操作指令,包括:
如果所述SQLite数据库中不存在所述数据库表名,则根据所述数据库操作指令的字段,拼接create table语句;其中,所述create table语句为用于创建具有所述数据库表名的数据库表的SQL语言操作指令。
可选的,所述方法还包括:
如果所述SQLite数据库中存在所述数据库表名,则根据所述数据库操作指令的字段,判断具有所述数据库表名的数据库表是否需要更新字段;
相应的,所述根据所述数据库操作指令的字段,拼接所述数据库操作指令对应的SQL语言操作指令,包括:
如果具有所述数据库表名的数据库表需要更新字段,则根据所述数据库操作指令的字段,拼接alter table语句;其中,所述alter table语句为用于修改具有所述数据库表名的数据库表的SQL语言操作指令。
可选的,所述数据库操作指令包括插入数据指令、删除数据指令、更新数据指令和查询数据指令中的至少一个;
所述根据所述数据库操作指令的字段,拼接所述数据库操作指令对应的SQL语言操作指令,包括:
根据所述数据库操作指令的字段,拼接insert table语句、delete table语句、update table语句和query table语句中的至少一个;
其中,所述insert table语句为用于向具有所述数据库表名的数据库表中插入数据的SQL语言操作指令;所述delete table语句为用于从具有所述数据库表名的数据库表中删除数据的SQL语言操作指令;所述update table语句为用于对具有所述数据库表名的数据库表中的数据进行更新的SQL语言操作指令;所述query table语句为用于在具有所述数据库表名的数据库表中查询数据的SQL语言操作指令。
可选的,所述字段包括数据库表名、变量名以及变量类型。
可选的,所述数据模型中存储有SQLite数据库连接指令;
所述与SQLite数据库连接后,当接收到任一条所述计算机语言的数据库操作指令时,从所述数据模型中获取所述数据库操作指令的解析规则之前,还包括:
利用所述SQLite数据库连接指令,与SQLite数据库建立连接。
第二方面,本申请提供了一种对SQLite数据库的操作装置,所述装置包括:
创建模块,用于创建任一种计算机语言的数据模型,所述数据模型中存储所述计算机语言的数据库操作指令的解析规则;
获取模块,用于与SQLite数据库连接后,当接收到任一条所述计算机语言的数据库操作指令时,从所述数据模型中获取所述数据库操作指令的解析规则;
解析模块,用于根据所述解析规则,对所述数据库操作指令进行解析,得到所述数据库操作指令的字段;
拼接模块,用于根据所述数据库操作指令的字段,拼接所述数据库操作指令对应的SQL语言操作指令;
操作模块,用于基于所述SQL语言操作指令,对所述SQLite数据库进行操作。
可选的,所述字段包括数据库表名;所述装置还包括:
第一判断模块,用于判断SQLite数据库中是否存在所述数据库表名;
相应的,所述拼接模块,具体用于:
如果所述SQLite数据库中不存在所述数据库表名,则根据所述数据库操作指令的字段,拼接create table语句;其中,所述create table语句为用于创建具有所述数据库表名的数据库表的SQL语言操作指令。
可选的,所述装置还包括:
第二判断模块,用于在所述SQLite数据库中存在所述数据库表名时,根据所述数据库操作指令的字段,判断具有所述数据库表名的数据库表是否需要更新字段;
相应的,所述拼接模块,具体用于:
如果具有所述数据库表名的数据库表需要更新字段,则根据所述数据库操作指令的字段,拼接alter table语句;其中,所述alter table语句为用于修改具有所述数据库表名的数据库表的SQL语言操作指令。
可选的,所述数据库操作指令包括插入数据指令、删除数据指令、更新数据指令和查询数据指令中的至少一个;
所述拼接模块,具体用于:
根据所述数据库操作指令的字段,拼接insert table语句、delete table语句、update table语句和query table语句中的至少一个;
其中,所述insert table语句为用于向具有所述数据库表名的数据库表中插入数据的SQL语言操作指令;所述delete table语句为用于从具有所述数据库表名的数据库表中删除数据的SQL语言操作指令;所述update table语句为用于对具有所述数据库表名的数据库表中的数据进行更新的SQL语言操作指令;所述query table语句为用于在具有所述数据库表名的数据库表中查询数据的SQL语言操作指令。
可选的,所述数据模型中存储有SQLite数据库连接指令;
所述装置还包括:
建立模块,用于利用所述SQLite数据库连接指令,与SQLite数据库建立连接。
第三方面,本申请提供了一种对SQLite数据库的操作设备,所述设备包括存储器和处理器,
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令,执行上述的对SQLite数据库的操作方法。
本申请提供的对SQLite数据库的操作方法中,首先,创建任一种计算机语言的数据模型,所述数据模型中存储所述计算机语言的数据库操作指令的解析规则。其次,与SQLite数据库连接后,当接收到任一条所述计算机语言的数据库操作指令时,从所述数据模型中获取所述数据库操作指令的解析规则。再次,根据所述解析规则,对所述数据库操作指令进行解析,得到所述数据库操作指令的字段。然后,根据所述数据库操作指令的字段,拼接所述数据库操作指令对应的SQL语言操作指令。最后,基于所述SQL语言操作指令,对所述SQLite数据库进行操作。通过上述方法,前端开发人员可以利用自己熟悉的任一种计算机语言实现对SQLite数据库的操作,与现有技术相比,不需要开发人员均掌握SQL语言,也能够实现对SQLite数据库的增删改查等操作。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种对SQLite数据库的操作方法流程图;
图2为本申请实施例提供的另一种对SQLite数据库的操作方法流程图;
图3为本申请实施例提供的一种对SQLite数据库的操作装置的结构示意图;
图4为本申请实施例提供一种对SQLite数据库的操作设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
目前,对SQLite数据库的增删改查操作,仍然需要对SQL语言比较了解的专业人员实现,也就是说,对SQLite数据库的操作实现要求较高。但是,某些开发场景下,对SQL语言掌握不足的前端开发人员也需要实现对SQLite数据库的操作,对于这种需求,目前需要研发一种为前端开发人员使用的对SQLite数据库的操作方法。
为此,本申请提供了一种对SQLite数据库的操作方法、装置及设备,该方法包括:首先,创建任一种计算机语言的数据模型,所述数据模型中存储所述计算机语言的数据库操作指令的解析规则。其次,与SQLite数据库连接后,当接收到任一条所述计算机语言的数据库操作指令时,从所述数据模型中获取所述数据库操作指令的解析规则。再次,根据所述解析规则,对所述数据库操作指令进行解析,得到所述数据库操作指令的字段。然后,根据所述数据库操作指令的字段,拼接所述数据库操作指令对应的SQL语言操作指令。最后,基于所述SQL语言操作指令,对所述SQLite数据库进行操作。通过上述方法,前端开发人员可以利用自己熟悉的任一种计算机语言实现对SQLite数据库的操作,与现有技术相比,不需要开发人员均掌握SQL语言,也能够实现对SQLite数据库的增删改查等操作。
以下具体介绍本申请提供的一种对SQLite数据库的操作方法的实施例,参考图1,为本申请实施例提供的一种对SQLite数据库的操作方法的流程图,该方法具体包括:
S101:创建任一种计算机语言的数据模型,所述数据模型中存储所述计算机语言的数据库操作指令的解析规则。
计算机语言是指用于人与计算机之间通讯的语言,包括JAVA语言、C语言、objective-c语言等,本申请实施例在实现对SQLite数据库的操作之前,首先创建一种计算机语言的数据模型。
实际应用中,由于开发人员可能对SQL语言掌握不足,但是对其他某一种计算机语言掌握足够,所以,开发人员可以利用其擅长的计算机语言实现对SQLite数据库的操作。具体的,开发人员可以创建某一种计算机语言的数据模型,其中,该数据模型中存储有该种计算机语言的数据库操作指令的解析规则。
例如,前端开发人员可能对objective-c语言比较熟悉,则在实现对SQLite数据库的操作之前,创建objective-c语言的数据模型,该数据模型能够实现从模型数据转换到数据库SQLite表结构的所有增删改查功能。
一种实现方式中,可以预先完成数据模型的各个基类,以便该数据模型可以通过继承基类的方式,具有利用objective-c语言实现数据库增删改查的数据库操作指令,这些数据库操作指令的解析规则,以及对解析后得到的字段进行SQL语句拼接的规则等。
实际应用中,前端开发人员只需要创建objective-c语言的数据模型即可,对于该数据模型需要继承的上述内容可以由其他专业人员统一设置编写,所以,前端开发人员无需了解具体的编写专业知识等,降低了对前端开发人员的专业要求。
S102:与SQLite数据库连接后,当接收到任一条所述计算机语言的数据库操作指令时,从所述数据模型中获取所述数据库操作指令的解析规则。
由于S101中创建的数据模型需要与SQLite数据库进行连接才能实现后续对SQLite数据库的操作,所以,本申请实施例在实现对SQLite数据库的操作之前,需要建立与SQLite数据库的连接,例如,通过自动用线程安全的方式连接SQLite数据库的功能。
为此,本申请实施例中,数据模型中还需要存储有SQLite数据库连接指令,该SQLite数据库连接指令也可以通过继承的方式得到。具体的,本申请实施例可以利用所述SQLite数据库连接指令,与SQLite数据库建立连接。
实际应用中,在与SQLite数据库连接后,可以对数据库操作指令进行接收。具体的,当接收到任一条所述计算机语言的数据库操作指令时,需要从数据模型中获取该数据库操作指令的解析规则。
S103:根据所述解析规则,对所述数据库操作指令进行解析,得到所述数据库操作指令的字段。
本申请实施例中,数据库操作指令的字段可以包括数据库表名、变量名以及变量类型等,这些字段用于描述对应数据库表的各个属性。
实际应用中,在获取到数据库操作指令的解析规则后,对该数据库操作指令进行解析,得到该数据库操作指令的字段等。通过对数据库操作指令的解析,能够获取到该数据库操作指令的指令类型、操作对象、操作信息等,例如通过解析数据库删除指令,可以获知该指令为删除指令、是对某个数据库表进行删除的操作以及具体删除哪一行、哪一列的操作等。
在S103中完成对数据库操作指令的解析后,继续执行S104。
S104:根据所述数据库操作指令的字段,拼接所述数据库操作指令对应的SQL语言操作指令。
由于对SQLite数据库的操作需要数据库语言即SQL语言完成,因此,本申请实施例在对接收到的数据库操作指令进行解析后,需要根据解析得到的内容拼接对应的SQL语言操作指令,以便利用拼接得到的SQL语言操作指令,对SQLite数据库进行操作。
实际应用中,预先将各种SQL语言操作指令的拼接规则写入数据模型中,从而利用对应的拼接规则完成SQL语言操作指令的拼接。
S105:基于所述SQL语言操作指令,对所述SQLite数据库进行操作。
实际应用中,对SQLite数据库的操作通常包括增删改查操作,在S104中拼接得到上述任一种操作的指令后,基于该指令对SQLite数据库进行操作,从而实现开发人员可以利用自己熟悉的任一种计算机语言实现对SQLite数据库的操作。
本申请实施例提供的对SQLite数据库的操作方法中,首先,创建任一种计算机语言的数据模型,所述数据模型中存储所述计算机语言的数据库操作指令的解析规则。其次,与SQLite数据库连接后,当接收到任一条所述计算机语言的数据库操作指令时,从所述数据模型中获取所述数据库操作指令的解析规则。再次,根据所述解析规则,对所述数据库操作指令进行解析,得到所述数据库操作指令的字段。然后,根据所述数据库操作指令的字段,拼接所述数据库操作指令对应的SQL语言操作指令。最后,基于所述SQL语言操作指令,对所述SQLite数据库进行操作。通过上述方法,前端开发人员可以利用自己熟悉的任一种计算机语言实现对SQLite数据库的操作,与现有技术相比,不需要开发人员均掌握SQL语言,也能够实现对SQLite数据库的增删改查等操作。
基于上述实施例,本申请还提供了一种对SQLite数据库的操作方法,参考图2,为本申请实施例提供的另一种对SQLite数据库的操作方法流程图。该方法具体包括:
S201:创建任一种计算机语言的数据模型,所述数据模型中存储所述计算机语言的数据库操作指令的解析规则。
S202:与SQLite数据库连接后,当接收到任一条所述计算机语言的数据库操作指令时,从所述数据模型中获取所述数据库操作指令的解析规则。
S203:根据所述解析规则,对所述数据库操作指令进行解析,得到所述数据库操作指令的字段。
其中,S201-S203与上述实施例中的S101-S103相同,可参照理解,在此不再赘述。
S204:判断SQLite数据库中是否存在所述数据库表名,如果否,则执行S205;如果是,则执行S206。
本申请实施例中,对数据库操作指令解析后得到的字段包括数据库表名,即该数据库操作指令的操作对象,在对SQLite数据库进行操作之前,首先判断SQLite数据库中是否存在所述数据库表名,即SQLite数据库中是否存储有具有该数据库表名的数据库表。
S205:根据所述数据库操作指令的字段,拼接create table语句;其中,所述create table语句为用于创建具有所述数据库表名的数据库表的SQL语言操作指令。
如果所述SQLite数据库中不存在所述数据库表名,则需要创建具有该数据库表名的数据库表。为此,本申请实施例根据解析得到的数据库操作指令的字段,拼接createtable语句,用于创建具有该数据库表名的数据库表。其中,create table语句为用于创建具有所述数据库表名的数据库表的SQL语言操作指令。
S206:根据所述数据库操作指令的字段,判断具有所述数据库表名的数据库表是否需要更新字段,如果是,则执行S207。
如果所述SQLite数据库中存在所述数据库表名,则继续根据数据库操作指令解析得到的字段,判断具有所述数据库表名的数据库表是否需要更新字段。
S207:根据所述数据库操作指令的字段,拼接alter table语句;其中,所述altertable语句为用于修改具有所述数据库表名的数据库表的SQL语言操作指令。
实际应用中,获取具有该数据库表名的数据库表和运行时环境中获取的变量名等进行对比,当发现有字段增加或者减少时,自动拼接alter table语句,对表结构进行修改,以此逻辑实现根据数据模型动态修改表结构的功能。
S208:根据所述数据库操作指令的字段,拼接insert table语句、delete table语句、update table语句和query table语句中的至少一个。
其中,所述insert table语句为用于向具有所述数据库表名的数据库表中插入数据的SQL语言操作指令;所述delete table语句为用于从具有所述数据库表名的数据库表中删除数据的SQL语言操作指令;所述update table语句为用于对具有所述数据库表名的数据库表中的数据进行更新的SQL语言操作指令;所述query table语句为用于在具有所述数据库表名的数据库表中查询数据的SQL语言操作指令。
上述SQL语句均是对SQLite数据库中内容的操作,在拼接得到上述语句后,基于上述SQL语言操作指令,完成对所述SQLite数据库的操作。
S209:基于所述SQL语言操作指令,对所述SQLite数据库进行操作。
本申请实施例提供的对SQLite数据库的操作方法,能够基于数据模型将任一种计算机语言的数据库操作指令转换为对应的SQL语言操作指令,从而实现对SQLite数据库的操作。通过上述方法,前端开发人员可以利用自己熟悉的任一种计算机语言实现对SQLite数据库的操作,与现有技术相比,不需要开发人员均掌握SQL语言,也能够实现对SQLite数据库的增删改查等操作。
与上述方法实施例相对应的,本申请还提供了一种对SQLite数据库的操作装置,参考图3,为本申请实施例提供的一种对SQLite数据库的操作装置的结构示意图,该装置包括:
创建模块301,用于创建任一种计算机语言的数据模型,所述数据模型中存储所述计算机语言的数据库操作指令的解析规则;
获取模块302,用于与SQLite数据库连接后,当接收到任一条所述计算机语言的数据库操作指令时,从所述数据模型中获取所述数据库操作指令的解析规则;
解析模块303,用于根据所述解析规则,对所述数据库操作指令进行解析,得到所述数据库操作指令的字段;
拼接模块304,用于根据所述数据库操作指令的字段,拼接所述数据库操作指令对应的SQL语言操作指令;
操作模块305,用于基于所述SQL语言操作指令,对所述SQLite数据库进行操作。
所述字段包括数据库表名;所述装置还包括:
第一判断模块,用于判断SQLite数据库中是否存在所述数据库表名;
相应的,所述拼接模块,具体用于:
如果所述SQLite数据库中不存在所述数据库表名,则根据所述数据库操作指令的字段,拼接create table语句;其中,所述create table语句为用于创建具有所述数据库表名的数据库表的SQL语言操作指令。
所述装置还包括:
第二判断模块,用于在所述SQLite数据库中存在所述数据库表名时,根据所述数据库操作指令的字段,判断具有所述数据库表名的数据库表是否需要更新字段;
相应的,所述拼接模块,具体用于:
如果具有所述数据库表名的数据库表需要更新字段,则根据所述数据库操作指令的字段,拼接alter table语句;其中,所述alter table语句为用于修改具有所述数据库表名的数据库表的SQL语言操作指令。
所述数据库操作指令包括插入数据指令、删除数据指令、更新数据指令和查询数据指令中的至少一个;
所述拼接模块,具体用于:
根据所述数据库操作指令的字段,拼接insert table语句、delete table语句、update table语句和query table语句中的至少一个;
其中,所述insert table语句为用于向具有所述数据库表名的数据库表中插入数据的SQL语言操作指令;所述delete table语句为用于从具有所述数据库表名的数据库表中删除数据的SQL语言操作指令;所述update table语句为用于对具有所述数据库表名的数据库表中的数据进行更新的SQL语言操作指令;所述query table语句为用于在具有所述数据库表名的数据库表中查询数据的SQL语言操作指令。
所述数据模型中存储有SQLite数据库连接指令;
所述装置还包括:
建立模块,用于利用所述SQLite数据库连接指令,与SQLite数据库建立连接。
本申请实施例提供的对SQLite数据库的操作装置,首先,创建任一种计算机语言的数据模型,所述数据模型中存储所述计算机语言的数据库操作指令的解析规则。其次,与SQLite数据库连接后,当接收到任一条所述计算机语言的数据库操作指令时,从所述数据模型中获取所述数据库操作指令的解析规则。再次,根据所述解析规则,对所述数据库操作指令进行解析,得到所述数据库操作指令的字段。然后,根据所述数据库操作指令的字段,拼接所述数据库操作指令对应的SQL语言操作指令。最后,基于所述SQL语言操作指令,对所述SQLite数据库进行操作。通过上述装置,前端开发人员可以利用自己熟悉的任一种计算机语言实现对SQLite数据库的操作,与现有技术相比,不需要开发人员均掌握SQL语言,也能够实现对SQLite数据库的增删改查等操作。
相应的,本发明实施例还提供一种对SQLite数据库的操作设备,参见图4所示,可以包括:
处理器401、存储器402、输入装置403和输出装置404。对SQLite数据库的操作设备中的处理器401的数量可以一个或多个,图4中以一个处理器为例。在本发明的一些实施例中,处理器401、存储器402、输入装置403和输出装置404可通过总线或其它方式连接,其中,图4中以通过总线连接为例。
存储器402可用于存储软件程序以及模块,处理器401通过运行存储在存储器402的软件程序以及模块,从而执行对SQLite数据库的操作设备的各种功能应用以及数据处理。存储器402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。输入装置403可用于接收输入的数字或字符信息,以及产生与对SQLite数据库的操作设备的用户设置以及功能控制有关的信号输入。
具体在本实施例中,处理器401会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器402中,并由处理器401来运行存储在存储器402中的应用程序,从而实现上述对SQLite数据库的操作方法中的各种功能。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本申请实施例所提供的一种对SQLite数据库的操作方法、装置及设备进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (12)
1.一种对SQLite数据库的操作方法,其特征在于,所述方法包括:
创建任一种计算机语言的数据模型,所述数据模型中存储所述计算机语言的数据库操作指令的解析规则;
与SQLite数据库连接后,当接收到任一条所述计算机语言的数据库操作指令时,从所述数据模型中获取所述数据库操作指令的解析规则;
根据所述解析规则,对所述数据库操作指令进行解析,得到所述数据库操作指令的字段;
根据所述数据库操作指令的字段,拼接所述数据库操作指令对应的SQL语言操作指令;
基于所述SQL语言操作指令,对所述SQLite数据库进行操作。
2.根据权利要求1所述的对SQLite数据库的操作方法,其特征在于,所述字段包括数据库表名;所述根据所述数据库操作指令的字段,拼接所述数据库操作指令对应的SQL语言操作指令之前,还包括:
判断SQLite数据库中是否存在所述数据库表名;
相应的,所述根据所述数据库操作指令的字段,拼接所述数据库操作指令对应的SQL语言操作指令,包括:
如果所述SQLite数据库中不存在所述数据库表名,则根据所述数据库操作指令的字段,拼接create table语句;其中,所述create table语句为用于创建具有所述数据库表名的数据库表的SQL语言操作指令。
3.根据权利要求2所述的对SQLite数据库的操作方法,其特征在于,所述方法还包括:
如果所述SQLite数据库中存在所述数据库表名,则根据所述数据库操作指令的字段,判断具有所述数据库表名的数据库表是否需要更新字段;
相应的,所述根据所述数据库操作指令的字段,拼接所述数据库操作指令对应的SQL语言操作指令,包括:
如果具有所述数据库表名的数据库表需要更新字段,则根据所述数据库操作指令的字段,拼接alter table语句;其中,所述alter table语句为用于修改具有所述数据库表名的数据库表的SQL语言操作指令。
4.根据权利要求1所述的对SQLite数据库的操作方法,其特征在于,所述数据库操作指令包括插入数据指令、删除数据指令、更新数据指令和查询数据指令中的至少一个;
所述根据所述数据库操作指令的字段,拼接所述数据库操作指令对应的SQL语言操作指令,包括:
根据所述数据库操作指令的字段,拼接insert table语句、delete table语句、updatetable语句和query table语句中的至少一个;
其中,所述insert table语句为用于向具有所述数据库表名的数据库表中插入数据的SQL语言操作指令;所述delete table语句为用于从具有所述数据库表名的数据库表中删除数据的SQL语言操作指令;所述update table语句为用于对具有所述数据库表名的数据库表中的数据进行更新的SQL语言操作指令;所述query table语句为用于在具有所述数据库表名的数据库表中查询数据的SQL语言操作指令。
5.根据权利要求1所述的对SQLite数据库的操作方法,其特征在于,所述字段包括数据库表名、变量名以及变量类型。
6.根据权利要求1所述的对SQLite数据库的操作方法,其特征在于,所述数据模型中存储有SQLite数据库连接指令;
所述与SQLite数据库连接后,当接收到任一条所述计算机语言的数据库操作指令时,从所述数据模型中获取所述数据库操作指令的解析规则之前,还包括:
利用所述SQLite数据库连接指令,与SQLite数据库建立连接。
7.一种对SQLite数据库的操作装置,其特征在于,所述装置包括:
创建模块,用于创建任一种计算机语言的数据模型,所述数据模型中存储所述计算机语言的数据库操作指令的解析规则;
获取模块,用于与SQLite数据库连接后,当接收到任一条所述计算机语言的数据库操作指令时,从所述数据模型中获取所述数据库操作指令的解析规则;
解析模块,用于根据所述解析规则,对所述数据库操作指令进行解析,得到所述数据库操作指令的字段;
拼接模块,用于根据所述数据库操作指令的字段,拼接所述数据库操作指令对应的SQL语言操作指令;
操作模块,用于基于所述SQL语言操作指令,对所述SQLite数据库进行操作。
8.根据权利要求7所述的对SQLite数据库的操作装置,其特征在于,所述字段包括数据库表名;所述装置还包括:
第一判断模块,用于判断SQLite数据库中是否存在所述数据库表名;
相应的,所述拼接模块,具体用于:
如果所述SQLite数据库中不存在所述数据库表名,则根据所述数据库操作指令的字段,拼接create table语句;其中,所述create table语句为用于创建具有所述数据库表名的数据库表的SQL语言操作指令。
9.根据权利要求8所述的对SQLite数据库的操作装置,其特征在于,所述装置还包括:
第二判断模块,用于在所述SQLite数据库中存在所述数据库表名时,根据所述数据库操作指令的字段,判断具有所述数据库表名的数据库表是否需要更新字段;
相应的,所述拼接模块,具体用于:
如果具有所述数据库表名的数据库表需要更新字段,则根据所述数据库操作指令的字段,拼接alter table语句;其中,所述alter table语句为用于修改具有所述数据库表名的数据库表的SQL语言操作指令。
10.根据权利要求7所述的对SQLite数据库的操作装置,其特征在于,所述数据库操作指令包括插入数据指令、删除数据指令、更新数据指令和查询数据指令中的至少一个;
所述拼接模块,具体用于:
根据所述数据库操作指令的字段,拼接insert table语句、delete table语句、updatetable语句和query table语句中的至少一个;
其中,所述insert table语句为用于向具有所述数据库表名的数据库表中插入数据的SQL语言操作指令;所述delete table语句为用于从具有所述数据库表名的数据库表中删除数据的SQL语言操作指令;所述update table语句为用于对具有所述数据库表名的数据库表中的数据进行更新的SQL语言操作指令;所述query table语句为用于在具有所述数据库表名的数据库表中查询数据的SQL语言操作指令。
11.根据权利要求7所述的对SQLite数据库的操作装置,其特征在于,所述数据模型中存储有SQLite数据库连接指令;
所述装置还包括:
建立模块,用于利用所述SQLite数据库连接指令,与SQLite数据库建立连接。
12.一种对SQLite数据库的操作设备,其特征在于,所述设备包括存储器和处理器,
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令,执行权利要求1-5中任一项所述的对SQLite数据库的操作方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810644467.8A CN108920566B (zh) | 2018-06-21 | 2018-06-21 | 一种对SQLite数据库的操作方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810644467.8A CN108920566B (zh) | 2018-06-21 | 2018-06-21 | 一种对SQLite数据库的操作方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108920566A true CN108920566A (zh) | 2018-11-30 |
CN108920566B CN108920566B (zh) | 2020-10-20 |
Family
ID=64420052
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810644467.8A Active CN108920566B (zh) | 2018-06-21 | 2018-06-21 | 一种对SQLite数据库的操作方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108920566B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109726217A (zh) * | 2019-01-10 | 2019-05-07 | 北京字节跳动网络技术有限公司 | 一种数据库操作方法、装置、设备及存储介质 |
CN111367938A (zh) * | 2020-03-04 | 2020-07-03 | 海南金盘智能科技股份有限公司 | 数据库指令的生成方法、装置和计算机存储介质 |
CN111400331A (zh) * | 2020-03-17 | 2020-07-10 | 吉林亿联银行股份有限公司 | 一种基于TiDB数据库的处理方法及装置 |
CN112015831A (zh) * | 2020-09-09 | 2020-12-01 | 深圳市绿联科技有限公司 | 基于c语言对关系型数据库进行操作的方法、装置及设备 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070130136A1 (en) * | 1991-11-27 | 2007-06-07 | Business Objects, S.A. | Relational database access system using semantically dynamic objects |
EP2246787A1 (en) * | 2009-04-30 | 2010-11-03 | Accenture Global Services GmbH | Systems and methods for identifying the root cause of an application failure in a mainframe environment based on relationship information between interrelated applications |
CN103093000A (zh) * | 2013-02-25 | 2013-05-08 | 用友软件股份有限公司 | 数据库查询建模系统和数据库查询建模方法 |
CN103246704A (zh) * | 2013-04-08 | 2013-08-14 | 浪潮集团山东通用软件有限公司 | 一种基于通用数据结构描述的实体与关系数据的映射方法 |
CN105868270A (zh) * | 2016-03-17 | 2016-08-17 | 央广视讯传媒股份有限公司 | 基于反射机制的Android对象存储框架 |
CN106294776A (zh) * | 2016-08-12 | 2017-01-04 | 北京东方车云信息技术有限公司 | 一种数据处理方法及装置 |
CN106383701A (zh) * | 2016-08-30 | 2017-02-08 | 西安美林数据技术股份有限公司 | 基于通用多协议数据访问接口技术的数据服务系统 |
CN107622070A (zh) * | 2016-07-15 | 2018-01-23 | 深圳联友科技有限公司 | 一种数据库管理方法及装置 |
-
2018
- 2018-06-21 CN CN201810644467.8A patent/CN108920566B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070130136A1 (en) * | 1991-11-27 | 2007-06-07 | Business Objects, S.A. | Relational database access system using semantically dynamic objects |
EP2246787A1 (en) * | 2009-04-30 | 2010-11-03 | Accenture Global Services GmbH | Systems and methods for identifying the root cause of an application failure in a mainframe environment based on relationship information between interrelated applications |
CN103093000A (zh) * | 2013-02-25 | 2013-05-08 | 用友软件股份有限公司 | 数据库查询建模系统和数据库查询建模方法 |
CN103246704A (zh) * | 2013-04-08 | 2013-08-14 | 浪潮集团山东通用软件有限公司 | 一种基于通用数据结构描述的实体与关系数据的映射方法 |
CN105868270A (zh) * | 2016-03-17 | 2016-08-17 | 央广视讯传媒股份有限公司 | 基于反射机制的Android对象存储框架 |
CN107622070A (zh) * | 2016-07-15 | 2018-01-23 | 深圳联友科技有限公司 | 一种数据库管理方法及装置 |
CN106294776A (zh) * | 2016-08-12 | 2017-01-04 | 北京东方车云信息技术有限公司 | 一种数据处理方法及装置 |
CN106383701A (zh) * | 2016-08-30 | 2017-02-08 | 西安美林数据技术股份有限公司 | 基于通用多协议数据访问接口技术的数据服务系统 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109726217A (zh) * | 2019-01-10 | 2019-05-07 | 北京字节跳动网络技术有限公司 | 一种数据库操作方法、装置、设备及存储介质 |
CN111367938A (zh) * | 2020-03-04 | 2020-07-03 | 海南金盘智能科技股份有限公司 | 数据库指令的生成方法、装置和计算机存储介质 |
CN111367938B (zh) * | 2020-03-04 | 2023-06-20 | 海南金盘智能科技股份有限公司 | 数据库指令的生成方法、装置和计算机存储介质 |
CN111400331A (zh) * | 2020-03-17 | 2020-07-10 | 吉林亿联银行股份有限公司 | 一种基于TiDB数据库的处理方法及装置 |
CN111400331B (zh) * | 2020-03-17 | 2023-05-30 | 吉林亿联银行股份有限公司 | 一种基于TiDB数据库的处理方法及装置 |
CN112015831A (zh) * | 2020-09-09 | 2020-12-01 | 深圳市绿联科技有限公司 | 基于c语言对关系型数据库进行操作的方法、装置及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN108920566B (zh) | 2020-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11656859B2 (en) | Data model API for live applications in a cloud collaboration platform | |
CN108052321B (zh) | 一种基于配置信息自动生成区块链智能合约的方法 | |
CN108920566A (zh) | 一种对SQLite数据库的操作方法、装置及设备 | |
CN108027722A (zh) | 在编译和部署中动态更新应用 | |
US20080288242A1 (en) | System And Method Of Presentation of Multilingual Metadata | |
CN102087594B (zh) | 扩展点和插件的管理方法和装置 | |
KR100529661B1 (ko) | 오브젝트 통합 관리 시스템 | |
CN108037967A (zh) | 一种基于多父子结构的菜单加载方法以及电子设备 | |
CN112084270A (zh) | 一种数据血缘处理方法、装置、存储介质及设备 | |
CN108228762B (zh) | 用于配置主数据库通用模板的方法和系统 | |
CN109086382A (zh) | 一种数据同步方法、装置、设备及存储介质 | |
US8433729B2 (en) | Method and system for automatically generating a communication interface | |
CN115705313A (zh) | 一种数据处理方法、装置、设备及计算机可读存储介质 | |
CN101425117A (zh) | 一种构造sql语句的方法及装置 | |
CN116028680B (zh) | 基于图数据库的资产图谱的展示方法、装置及电子设备 | |
US20060190476A1 (en) | Database storage system and associated method | |
JP2003248635A (ja) | ネットワーク管理プロトコールにおける管理情報ベースのデータベースアクセス方法及びシステム | |
CN103186405A (zh) | 一种实现设备的统一控制方法和装置 | |
CN115543428A (zh) | 一种基于策略模板的模拟数据生成方法和装置 | |
CN104899316A (zh) | 游戏数据的序列化与反序列化处理方法及装置 | |
CN115168291A (zh) | 层级目录实现方法、装置、电子设备及存储介质 | |
CN108334621B (zh) | 数据库操作方法、装置、设备及计算机可读存储介质 | |
CN112860725A (zh) | Sql自动生成方法和装置、存储介质及电子设备 | |
CN116450609B (zh) | 基于统一语法在异构数据源上建模的方法及设备 | |
CN111581212B (zh) | 关系型数据库的数据存储方法、系统、服务器和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |