MySQLworkbench cross 用法csdn

MySQLworkbench cross 用法csdn,第1张

使用:

Prerequisites准备好后点击文件夹中的“MySQLWorkbench.exe”,打开系统界面

界面分为3个区域,区域1用于建立数据库连接,区域2是打开过的界面的历史记录,区域3是相关网站的快捷方式。

1、 建立连接

在区域1中点击图中的加号:

在d出的界面中填写好mysql数据库的连接信息,点击“Test Connection”可以测试连接,测试成功后点击“OK”确定,首页就会产生一个连接的快捷图标。

单击图标进入连接:

如图所示的3个区域是比较常用的:

区域1:“Navigator”是一些常用功能的链接

区域2:“Schema”列出了该连接下的Schema,也就是当前连接下的库

区域3:“Query”用于书写SQL,进行查询等。进行查询的时候,先将SQL写好,选中,然后点击上方的闪电图标即可:

2 、创建Model(设计ER图)

使用workbench设计ER图也很简单。选择File ->New Model:

在新展开的页面中“Model Overview”界面双击“Add Diagram”图标:

双击后即可看到设计界面,workbench中叫EER图,其实就是增强的(enhanced)ER图。在这个界面中即可进行ER图的设计,例如添加一个table等:

注意有些信息可以进行详细设置:

3 、使用Model生成SQL语句

如果你需要sql语句,那么需要利用Model来生成。

首先打开一个Model,点击File ->Open Model,如图:

选择一个mvb类型文件,就是Model。

打开这个Model后,要生成它对应的sql语句,需要点击File ->Export ->Forward Engineer SQL CREATE SCRIPT:

打开**“Forward Engineer SQL SCRIPT”**。

使用join连表,缺陷的情况下是inner join,开发中使用的left join和right join属于outer join,outer join还包括full join

现有两张表,Table A 是左边的表。Table B 是右边的表。其各有四条记录,其中有两条记录name是相同的:

1.INNER JOIN 产生的结果是AB的交集

SELECT * FROM TableA INNER JOIN TableB ON TableA.name = TableB.name

2.LEFT [OUTER] JOIN 产生表A的完全集,而B表中匹配的则有值,没有匹配的则以null值取代。

SELECT * FROM TableA LEFT OUTER JOIN TableB ON TableA.name = TableB.name

3.RIGHT [OUTER] JOIN 产生表B的完全集,而A表中匹配的则有值,没有匹配的则以null值取代。

SELECT * FROM TableA RIGHT OUTER JOIN TableB ON TableA.name = TableB.name

图标如left join类似。

4.FULL [OUTER] JOIN 产生A和B的并集。对于没有匹配的记录,则会以null做为值。

SELECT * FROM TableA FULL OUTER JOIN TableB ON TableA.name = TableB.name

可以通过is NULL将没有匹配的值找出来:

SELECT * FROM TableA FULL OUTER JOIN TableB ON TableA.name = TableB.name

WHERE TableA.id IS null OR TableB.id IS null

5. CROSS JOIN 把表A和表B的数据进行一个N*M的组合,即笛卡尔积。如本例会产生4*4=16条记录,在开发过程中我们肯定是要过滤数据,所以这种很少用。

SELECT * FROM TableA CROSS JOIN TableB

A表和B表求乘积(即笛卡尔积)

查询的是笛卡尔乘积student(5)Xcourse(4)=20条

查询结果是:

所有限制条件where是通用的

而on只能运用于配合各种join查询

在没有限制条件的情况下相同

都是取得20条记录

限制条件下与cross基本相同。

以左表为主,右表不符合条件的补null

结果

以右表为主,左表不符合条件的补null

结果:

左连接可以转成右连接

on只能和各种连接联合使用select中

where可以用在各种语句上select 、insert、update、delete .....

注意

加上where条件后则不是以左表为主了!


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/8639887.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-19
下一篇 2023-04-19

发表评论

登录后才能评论

评论列表(0条)

保存