EZDML的SQL数据查询功能介绍

EZDML自带了一个SQL查询工具,当然它比较简单,不能代替我们常用的开发工具,但在救急时也能当个临时工,同时它跟模型结合来做一些数据查询操作也非常方便。接下来我们以之前导入过的MES模型为例简单介绍一下。

以下内容使用EZDML 3.48版进行说明。

SQL工具基本使用

打开之前导入的章鱼师兄的MES(生产制造管理系统)数据模型(参见《EZDML逆向工程导入数据库分析实操教程》),执行主菜单“工具|SQL工具”命令,并连接数据库:

连接后,右边会显示对象列表:

SQL工具顾名思义就是输入SQL执行获取结果的工具。当然你可以手工输入SQL执行,不过其实没必要装这个X,我们选中sp_bom,右键查询就好:

EZDML会自动生成表的查询select SQL,其中记录行数限制25,这个25可以在菜单“工具|设置|SQL生成|预览表数据”中修改。

可以看到,虽然SQL中没有输入中文逻辑名,但结果展示时列头上仍然会有中文名,这是因为EZDML分析出了表名sp_bom,并自动在模型中找到了对应的字段,将其中文名称匹配出来了:

单记录属性列表

表格的右上角有个“显示内容面板”的小按钮,点一下会显示一个属性列表,方便查看单一记录:

表格与属性列表是联动的,点击表格的任一单元格,记录属性都会相应变化,反之亦然:

数据编辑

表格和表单都支持数据编辑,编辑完后切换一下记录就可以直接提交:

多行文本查看编辑

有些字段(如备注)可能会需要输入多行,这时可以在单元格上点右键,执行弹出菜单命令“查看/修改值”:

会弹出个输入框,比如我们输入几行内容:

确定后修改结果会显示,但不完整:

当然可以再次右键“查看/修改值”弹出来看,但如果有很多单元格要查看编辑,一个个点开就很麻烦,这时我们可以再次点击右上角的“显示内容面板”的小按钮(重复点击会切换各内容面板的显示/隐藏),界面会切换为显示单个字段,我们可以直接在这里查看/编辑:

模型表数据查看

前面我们是从数据库里拉表SQL出来查看,但其实不需要这么麻烦,如果表已经在模型里了,双击模型中的表就可以查看,比如还是sp_bom这个表,我们在模型中双击打开它的属性:

然后我们切换到“数据”页;默认可能没有显示数据查看页,我们点击右上角的下拉菜单中的“数据”,即可查看数据(数据库需要预先连接):

同样可以切换显示单记录属性列表:

查询关联表数据

由于我们已经在模型里建立表对象之间的关系,因此SQL工具中可以轻松地查询关联表的数据。比如我们在sp_bom的数据结果中选中一个单元格,右键弹出菜单,其中“查询关联表”的下面,会针对当前记录列出所有关联表的查询条件:

点击其中一个条件后,弹出新的SQL工具界面,自动执行相应的SQL,显示相关结果:

重点来了,在这个新的SQL工具里,我们仍然可以右键查询当前SQL记录的关联表数据:

这样就可以一直玩下去了。

复制结果

除了字段数据本身,SQL工具还可以复制很多内容,大家在右键菜单里也看到了,以下图为例,可以复制以下内容:

  • 字段名 = 字段值——其实就是以当前选中单元格内容作为SQL的where过滤条件来复制了,只是为了方便我们写SQL

    示例复制结果:bom_code = 'bbbbb'

    这个例子举得不太好,因为复制字符串值其实没什么意义,有时手敲更快;但复制日期就比较有用了,如:

    create_time = STR_TO_DATE('2020-6-4 15:39:07','%Y-%m-%d %H:%i:%s')

  • 复制记录——复制当前记录的所有字段+值

    示例复制结果:

    id:                1268447170115383298
    bom_code:          bbbbb
    materiel_code:     t002
    materiel_desc:     t002
    remark:            
    version_number:    1
    state:             
    factory:           
    is_deleted:        0
    create_time:       2020/6/4 15:39:07
    create_username:   admin
    update_time:       2020/7/16 11:17:20
    update_username:   admin
    复制代码
  • 复制为insert语句(当前记录)——会弹出选择数据库类型,然后生成当前记录的insert语句

    以MYSQL为例,复制结果如下:

    insert into sp_bom(
      id,
      bom_code,
      materiel_code,
      materiel_desc,
      remark,
      version_number,
      state,
      factory,
      is_deleted,
      create_time,
      create_username,
      update_time,
      update_username
    ) values (
      '1268447170115383298',
      'bbbbb',
      't002',
      't002',
      null,
      '1',
      null,
      null,
      '0',
      STR_TO_DATE('2020-06-04 15:39:07','%Y-%m-%d %H:%i:%s'),
      'admin',
      STR_TO_DATE('2020-07-16 11:17:20','%Y-%m-%d %H:%i:%s'),
      'admin'
    );
    复制代码
  • 复制为insert语句(所有记录)——这个生成格式跟上面差不多,只不过是循环遍历所有记录,相当于是导出整个表格了

    示例结果太长,就不贴上来了。

  • 复制列——嗯,就是字面上的意思

    示例结果:

    bbbbb
    0001
    测试
    打算
    阿斯顿发送到
    77
    001
    A0001
    Y001
    dc001
    11111
    001
    333
    111222333
    复制代码
  • 复制全部——这个是方便复制到EXCEL

    示例结果:

    id	bom_code	materiel_code	materiel_desc	remark	version_number	state	factory	is_deleted	create_time	create_username	update_time	update_username
    1268447170115383298	bbbbb	t002	t002		1			0	2020/6/4 15:39:07	admin	2020/7/16 11:17:20	admin
    1268811409925582850	0001	2019001	电子元件		1			0	2020/6/5 15:46:28	admin	2020/7/16 13:30:08	admin
    1270189758686146562	测试	123	123	1 EzDml是一款国产免费的轻量级数据建模工具
    2 它具有轻巧、快速、简便而功能强大的特点
    3 可轻松地进行数据库表结构设计
    4 建立界面数据模型
    5 支持通过自定义脚本模板生成测试数据、界面原型和前后端代码文件	1			0	2020/6/9 11:03:32	admin	2020/7/4 15:32:47	admin
    1272019534564536322	打算	123	123		1			2	2020/6/14 12:14:25	admin	2020/7/9 15:10:38	admin
    1272783744282112002	阿斯顿发送到	t002	t002		1			0	2020/6/16 14:51:06	admin	2020/6/16 14:51:06	admin
    1276415594372247554	77	123	123		1			0	2020/6/26 15:22:47	admin	2020/7/8 15:30:46	admin
    1276535719725346818	001	123	123		1			0	2020/6/26 23:20:07	admin	2020/6/26 23:20:07	admin
    1277125952237973506	A0001	t002	t002		1			0	2020/6/28 14:25:30	admin	2020/6/28 14:25:30	admin
    1277599659653836802	Y001	Y001	Y001		1			0	2020/6/29 21:47:50	admin	2020/6/29 21:47:50	admin
    1278528374608998401	dc001	Y001	Y001	Hello123	1			0	2020/7/2 11:18:13	admin	2020/7/2 11:18:13	admin
    1280124062753075202	11111	002-2918	曲轴	11111	1			0	2020/7/6 20:58:55	admin	2020/7/6 20:58:55	admin
    1281490436289179649	001	002-2918	曲轴		1			0	2020/7/10 15:28:24	admin	2020/7/10 15:28:24	admin
    1283634934423203842	333	2019001	电子元件		1			0	2020/7/16 13:29:52	admin	2020/7/16 13:29:52	admin
    1548645269971750914	111222333	000001	成品测试	huz测试2022				0	2022/7/17 12:26:19	admin	2022/7/17 12:26:19	admin
    复制代码

特别说明

EZDML自带的SQL工具本身设计是用来执行DDL生成数据库的,查询数据只是顺便附送的功能,不支持事务,每次执行SQL都会COMMIT(直接通过表格修改数据可能需要手工执行COMMIT),因此不要在这里作复杂的事务操作。另外工具比较简单粗糙,用它来执行insert update等操作有可能会导致数据丢失,建议只用来查看数据。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值