一种对SQLite数据库的操作方法、装置及设备与流程

文档序号:16134969发布日期:2018-12-01 00:50阅读:194来源:国知局
本申请涉及数据处理领域,具体涉及一种对sqlite数据库的操作方法、装置及设备。
背景技术
:sqlite数据库是一款轻型的数据库,是遵守acid的关系型数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它。目前,对sqlite数据库的操作,如对数据库的一般增删改查操作,需要熟悉sql语言的专业开发人员实现,但是,前端开发人员一般对sql语言掌握能力较弱,不能完成对sqlite数据库的操作。技术实现要素:为解决上述问题,本申请提供了一种对sqlite数据库的操作方法、装置及设备,具体技术方案如下:第一方面,本申请提供了一种对sqlite数据库的操作方法,所述方法包括:创建任一种计算机语言的数据模型,所述数据模型中存储所述计算机语言的数据库操作指令的解析规则;与sqlite数据库连接后,当接收到任一条所述计算机语言的数据库操作指令时,从所述数据模型中获取所述数据库操作指令的解析规则;根据所述解析规则,对所述数据库操作指令进行解析,得到所述数据库操作指令的字段;根据所述数据库操作指令的字段,拼接所述数据库操作指令对应的sql语言操作指令;基于所述sql语言操作指令,对所述sqlite数据库进行操作。可选的,所述字段包括数据库表名;所述根据所述数据库操作指令的字段,拼接所述数据库操作指令对应的sql语言操作指令之前,还包括:判断sqlite数据库中是否存在所述数据库表名;相应的,所述根据所述数据库操作指令的字段,拼接所述数据库操作指令对应的sql语言操作指令,包括:如果所述sqlite数据库中不存在所述数据库表名,则根据所述数据库操作指令的字段,拼接createtable语句;其中,所述createtable语句为用于创建具有所述数据库表名的数据库表的sql语言操作指令。可选的,所述方法还包括:如果所述sqlite数据库中存在所述数据库表名,则根据所述数据库操作指令的字段,判断具有所述数据库表名的数据库表是否需要更新字段;相应的,所述根据所述数据库操作指令的字段,拼接所述数据库操作指令对应的sql语言操作指令,包括:如果具有所述数据库表名的数据库表需要更新字段,则根据所述数据库操作指令的字段,拼接altertable语句;其中,所述altertable语句为用于修改具有所述数据库表名的数据库表的sql语言操作指令。可选的,所述数据库操作指令包括插入数据指令、删除数据指令、更新数据指令和查询数据指令中的至少一个;所述根据所述数据库操作指令的字段,拼接所述数据库操作指令对应的sql语言操作指令,包括:根据所述数据库操作指令的字段,拼接inserttable语句、deletetable语句、updatetable语句和querytable语句中的至少一个;其中,所述inserttable语句为用于向具有所述数据库表名的数据库表中插入数据的sql语言操作指令;所述deletetable语句为用于从具有所述数据库表名的数据库表中删除数据的sql语言操作指令;所述updatetable语句为用于对具有所述数据库表名的数据库表中的数据进行更新的sql语言操作指令;所述querytable语句为用于在具有所述数据库表名的数据库表中查询数据的sql语言操作指令。可选的,所述字段包括数据库表名、变量名以及变量类型。可选的,所述数据模型中存储有sqlite数据库连接指令;所述与sqlite数据库连接后,当接收到任一条所述计算机语言的数据库操作指令时,从所述数据模型中获取所述数据库操作指令的解析规则之前,还包括:利用所述sqlite数据库连接指令,与sqlite数据库建立连接。第二方面,本申请提供了一种对sqlite数据库的操作装置,所述装置包括:创建模块,用于创建任一种计算机语言的数据模型,所述数据模型中存储所述计算机语言的数据库操作指令的解析规则;获取模块,用于与sqlite数据库连接后,当接收到任一条所述计算机语言的数据库操作指令时,从所述数据模型中获取所述数据库操作指令的解析规则;解析模块,用于根据所述解析规则,对所述数据库操作指令进行解析,得到所述数据库操作指令的字段;拼接模块,用于根据所述数据库操作指令的字段,拼接所述数据库操作指令对应的sql语言操作指令;操作模块,用于基于所述sql语言操作指令,对所述sqlite数据库进行操作。可选的,所述字段包括数据库表名;所述装置还包括:第一判断模块,用于判断sqlite数据库中是否存在所述数据库表名;相应的,所述拼接模块,具体用于:如果所述sqlite数据库中不存在所述数据库表名,则根据所述数据库操作指令的字段,拼接createtable语句;其中,所述createtable语句为用于创建具有所述数据库表名的数据库表的sql语言操作指令。可选的,所述装置还包括:第二判断模块,用于在所述sqlite数据库中存在所述数据库表名时,根据所述数据库操作指令的字段,判断具有所述数据库表名的数据库表是否需要更新字段;相应的,所述拼接模块,具体用于:如果具有所述数据库表名的数据库表需要更新字段,则根据所述数据库操作指令的字段,拼接altertable语句;其中,所述altertable语句为用于修改具有所述数据库表名的数据库表的sql语言操作指令。可选的,所述数据库操作指令包括插入数据指令、删除数据指令、更新数据指令和查询数据指令中的至少一个;所述拼接模块,具体用于:根据所述数据库操作指令的字段,拼接inserttable语句、deletetable语句、updatetable语句和querytable语句中的至少一个;其中,所述inserttable语句为用于向具有所述数据库表名的数据库表中插入数据的sql语言操作指令;所述deletetable语句为用于从具有所述数据库表名的数据库表中删除数据的sql语言操作指令;所述updatetable语句为用于对具有所述数据库表名的数据库表中的数据进行更新的sql语言操作指令;所述querytable语句为用于在具有所述数据库表名的数据库表中查询数据的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:根据所述数据库操作指令的字段,拼接createtable语句;其中,所述createtable语句为用于创建具有所述数据库表名的数据库表的sql语言操作指令。如果所述sqlite数据库中不存在所述数据库表名,则需要创建具有该数据库表名的数据库表。为此,本申请实施例根据解析得到的数据库操作指令的字段,拼接createtable语句,用于创建具有该数据库表名的数据库表。其中,createtable语句为用于创建具有所述数据库表名的数据库表的sql语言操作指令。s206:根据所述数据库操作指令的字段,判断具有所述数据库表名的数据库表是否需要更新字段,如果是,则执行s207。如果所述sqlite数据库中存在所述数据库表名,则继续根据数据库操作指令解析得到的字段,判断具有所述数据库表名的数据库表是否需要更新字段。s207:根据所述数据库操作指令的字段,拼接altertable语句;其中,所述altertable语句为用于修改具有所述数据库表名的数据库表的sql语言操作指令。实际应用中,获取具有该数据库表名的数据库表和运行时环境中获取的变量名等进行对比,当发现有字段增加或者减少时,自动拼接altertable语句,对表结构进行修改,以此逻辑实现根据数据模型动态修改表结构的功能。s208:根据所述数据库操作指令的字段,拼接inserttable语句、deletetable语句、updatetable语句和querytable语句中的至少一个。其中,所述inserttable语句为用于向具有所述数据库表名的数据库表中插入数据的sql语言操作指令;所述deletetable语句为用于从具有所述数据库表名的数据库表中删除数据的sql语言操作指令;所述updatetable语句为用于对具有所述数据库表名的数据库表中的数据进行更新的sql语言操作指令;所述querytable语句为用于在具有所述数据库表名的数据库表中查询数据的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数据库中不存在所述数据库表名,则根据所述数据库操作指令的字段,拼接createtable语句;其中,所述createtable语句为用于创建具有所述数据库表名的数据库表的sql语言操作指令。所述装置还包括:第二判断模块,用于在所述sqlite数据库中存在所述数据库表名时,根据所述数据库操作指令的字段,判断具有所述数据库表名的数据库表是否需要更新字段;相应的,所述拼接模块,具体用于:如果具有所述数据库表名的数据库表需要更新字段,则根据所述数据库操作指令的字段,拼接altertable语句;其中,所述altertable语句为用于修改具有所述数据库表名的数据库表的sql语言操作指令。所述数据库操作指令包括插入数据指令、删除数据指令、更新数据指令和查询数据指令中的至少一个;所述拼接模块,具体用于:根据所述数据库操作指令的字段,拼接inserttable语句、deletetable语句、updatetable语句和querytable语句中的至少一个;其中,所述inserttable语句为用于向具有所述数据库表名的数据库表中插入数据的sql语言操作指令;所述deletetable语句为用于从具有所述数据库表名的数据库表中删除数据的sql语言操作指令;所述updatetable语句为用于对具有所述数据库表名的数据库表中的数据进行更新的sql语言操作指令;所述querytable语句为用于在具有所述数据库表名的数据库表中查询数据的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数据库的操作方法、装置及设备进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1