电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

金蝶EAS Cloud EAS数据处理SQL操作.pptx

金蝶EAS Cloud EAS数据处理SQL操作.pptx_第1页
1/25
金蝶EAS Cloud EAS数据处理SQL操作.pptx_第2页
2/25
金蝶EAS Cloud EAS数据处理SQL操作.pptx_第3页
3/25
版权所有©1993-2019金蝶国际软件集团有限公司④内部公开请勿外传EAS数据处理SQL提纲Outline1.SQL简介2.SQL语法3.确定多表的关联关系4.执行SQL和执行方言SQL简介SQL,指结构化查询语言,全称是StructuredQueryLanguage,用于访问和处理数据库的标准的计算机语言。可以把SQL分为两个部分:数据操作语言(DML)和数据定义语言(DDL)。SQL(结构化查询语言)是用于执行查询的语法。但是SQL语言也包含用于更新、插入和删除记录的语法。查询和更新指令构成了SQL的DML(datamanipulationlanguage)部分:•SELECT-从数据库表中获取数据•UPDATE-更新数据库表中的数据•DELETE-从数据库表中删除数据•INSERTINTO-向数据库表中插入数据SQL简介SQL的数据定义语言DDL(datadefinitionlanguage)部分使我们有能力创建或删除表格。我们也可以定义索引(键),规定表之间的链接,以及施加表间的约束。SQL中最重要的DDL语句:•CREATEDATABASE-创建新数据库•ALTERDATABASE-修改数据库•CREATETABLE-创建新表•ALTERTABLE-变更(改变)数据库表•DROPTABLE-删除表•CREATEINDEX-创建索引(搜索键)•DROPINDEX-删除索引提纲Outline1.SQL简介2.SQL语法3.确定多表的关联关系4.执行SQL和执行方言SQL语法数据库表一个数据库通常包含一个或多个表。每个表由一个名字标识(T_PM_USER),每个表包含多个列(字段),表包含带有数据的记录(行)。1、select语法select*from表名/整表记录(所有行所有列信息)select*from表名where列名=‘’/根据指定单列信息过滤表数据select*from表名where列名like‘G%’/根据列名以G开头的表数据select*from表名where列名like‘%G’/根据列名以G结尾的表数据select*from表名where列名like‘%G%’/根据列名包含G的表数据select*from表名where列名in(‘’,’’,’’)/根据指定列多信息过滤表数据select*from表名where列名1=‘’and列名2=‘’/根据指定多列信息交集过滤表数据select*from表名where列名1=‘’or列名2=‘’/根据指定多列信息并集过滤表数据SQL语法select列名1,列名2from表名/返回多列信息select列名1,列名2,别名.*from表名别名/按照指定列名排序返回信息selecttop10*from表名/规定返回的记录数(记录很多的大型表)select*from表名whererownum<=10/规定返回的记录数(记录很多的大型表)select*from表名orderby列名/按照指定列名正向排序select*from表名orderby列名desc/按照指定列名逆向排序selectdistinct列名from表名/返回指定列信息(去重)selectcount(distinct列名)from表名/返回指定列的值的记录数(去重)selectcount(*)from表名/返回表的记录数select列名from表名groupby列名/返回指定列信息(去重)select列名,count(*)from表名groupby列名havingcount(*)>1/返回指定列信息、指定列记录数selectftypefromt_pm_usergroupbyftype,Fname_l2havingcount(1)>1日期列名的查询select*from表名where列名(日期)>={d'2017-04-0515:00:00'}SQL语法数据库表一个数据库通常包含一个或多个表。每个表由一个名字标识(T_PM_USER)。表包含带有数据的记录(行)。2、insertinto语法•Insertinto表名(列名1,列名2,列名3,列名4,…)values(‘’,’’,’’,’’,…)注:EAS数据表中一般都有主键FID,FID不能预先获取,是在执行插入语句时自动生成,故EAS数据表插入语句格式如下:•Insertinto表名(fid,列名2,列名3,列名4,…)values(newbosid(‘Bostype’),’’,’’,’’,…)问题:表的Bostype如何获取?SQL语法EAS数据表Bostype获取方法1、查询表的任意一条记录•selecttop1fidfrom表名2、ID转Bostype•Insertinto表名(fid,列名2,列名3,列名4,…)values(newbosid(‘2652E01E’),’’,’’,’’,…)SQL语法3、update语法update表名set列名1=‘’,列名2=‘’where列名=‘’注:update之前一定要备份数据备份语句:•select*into备份表from表名where列名=‘’确认是否备份成功:•Select*from备份表删除备份表•Droptable备份表SQL语法4、delete语法Deletefrom表名where列名=‘’注:delete之前一定要备份数据备份语句:•select*into备份表from表名where列名=‘’确认是否备份成功:•Select*from备份表恢复删除的数据:•Insertinto表名select*from备份表删除备份表•Droptable备份表SQL语法5、SQLjoin多表联查语法有时为了得到完整的结果,我们需要从两个或更多的表中获取结果,我们就需要执行join。数据库中的表可通过键将彼此联系起来。主键(PrimaryKey)是一个列,在这个列中的每一行的值都是唯一的。在表中,每个主键的值都是唯一的。这样做的目的是在不重复每个表中的所有数据的情况下,把表间的数据交叉捆绑在一起。示例一(未使用Join语法):查询用户表的编码、实名和职员表的编码、姓名对应表selectt_pm_user.fnumber,t_pm_user.fname_l2,t_bd_person.fname_l2,t_bd_person.fnumberfromt_pm_user,t_bd_personwheret_pm_user.fpersonid=t_bd_person.fidSQL语法日常使用的JOIN类型,以及它们之间的差异。INNERJOIN:如果表中有至少一个匹配,则返回行LEFTJOIN:即使右表中没有匹配,也从左表返回所有的行RIGHTJOIN:即使左表中没有匹配,也从右表返回所有的行FULLJOIN:只要其中一个表中存在匹配,就返回行示例二(使用四种不同的Join语法)查询用户表的编码、实名和职员表的编码、姓名对应表SQL语法多表联查join语法模板:Select别名1.列名自定义标题,别名2.列名自定义标题,别名3.列名自定义标题,别名4.列名自定义标题from表1别名1Innerjoin表2别名2on别名2.列名(FID)=别名1.列名Innerjoin表3别名3on别名3.列名(FID)=别名1.列名Innerjoin表4别名4on别名4.列名(FID)=别名2.列名Where(别名1/别名2/别名3/别名2).列名=‘’回到示例二(使用四种不同的Join语法):selectt_pm_user.fnumber,t_pm_user.fname_l2,t_bd_person.fname_l2,t_bd_person.fnumberfromt_pm_user,t_bd_personwheret_pm_user.fpersonid=t_bd_person.fid使用join语法查询比对结果SQL语法如果需要展示的标题的内容,是关联的枚举类的字段,那么返回结果是枚举类的自定义的值(一般是数字),无法对应到具体的别名上,如何处理?如下示例。示例三:查询数据,标题为:公司编码、公司名称、科目编码、科目名称、科目余额方向(需用借或贷表示)SQL语法selectc.fnumber公司编码,c.fname_l2公司名称,a.fnumber科目编码,a.fname_l2科目名称,(casea.fdcwhen-1then'贷'when1then'借'end)as科目余额方向fromt_bd_accountviewainnerjoint_bd_accounttypebonb.fid=a.FAccountTypeIDinnerjoint_org_companyconc.fid=a.fcompanyidwherec.fnumber='08'提纲Outline1.SQL简介2.SQL语法3.确定多表的关联关系4.执行SQL和执行方言EAS数据表如何确定多表的关联关系?1、EAS客户端查阅以会计科目查看为例:•F7按钮关联基础资料列表(实体表)•下拉箭头关联枚举类(没有实体表)2、数据字典的查阅提纲Outline1.SQL简介2.SQL语法3.确定多表的关联关系4.执行SQL和执行方言执行SQL和执行方言1、KSQL是什么?它与标准SQL是什么关系?KSQL对金蝶产品实现多数据库支持非常重要的基础引擎。所有与金蝶ERP产品支持的数据库通讯的应用程序都通过向数据库服务器发送KSQL语句来实现通讯,与应用程序的用户界面无关,是一种金蝶自己定义的SQL方言。时间常量语法:示例:时间戳:{ts’2002-07-1710:51:18’}日期:{d’2002-07-17’}时间:{t’10:51:18’}执行SQL和执行方言注释:时间戳的日期和时间之间只允许出现一个空格分隔符号。时间中不支持毫秒。2、查询分析器里的执行SQL和执行方言分别是什么含义,他们是什么关系?执行SQL和执行方言1、执行SQLKSQL语法的SQL语句,执行时会自动根据连接的数据库翻译成对应类型数据库语法的SQL语句。2、执行方言SQL语句仅为连接的对应类型数据库语法的SQL语句,即对应数据库的方言。执行SQL和执行方言KSQL如何翻译成指定类型数据库的方言?EAS管理控制台,工具-KSQL翻译:执行SQL和执行方言根据指定KSQL语句可以翻译成指定类型数据库的方言Thanksterimakasih感謝谢谢ありがとうขอบคุ�ณ版权所有©1993-2019金蝶国际软件集团有限公司①绝密信息严禁泄露

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

金蝶EAS Cloud EAS数据处理SQL操作.pptx

管理软件+ 关注
实名认证
内容提供者

管理软件资料分享

确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信