Navicat使用教程:针对每个数据库开发人员工具包的更多基本SELECT查询

不久前,我们探索了一些您必须知道的SELECT查询。其中包括确定列的最低值和最高值,以及按类别对结果进行分组。今天的文章提供了更多查询,并提供了使您的查询几乎能自动编写的技巧!

Navicat Premium是一个可连接多种数据库的管理工具,它可以让你以单一程序同时连接到MySQL、Oracle及PostgreSQL数据库,让管理不同类型的数据库更加的方便。

Navicat Premium正式版

不久前,我们探索了一些您必须知道的SELECT查询。其中包括确定列的最低值和最高值,以及按类别对结果进行分组。今天的文章提供了更多查询,并提供了使您的查询几乎能自动编写的技巧!

获取所有用户创建的表

这些表包括用户创建的数据库的一部分,也就是说,不属于系统数据库架构的表。确切的语法因供应商而异,但是这里有一些示例可以帮助您理解。

在SQL Server中,这个简单的单行代码即可完成一下工作:

SELECT NAME FROM sys.objects WHERE TYPE='U'

MySQL的语法有点冗长,因为您必须指定系统数据库才能省略它们的表:

SELECT * from information_schema.tablesWHERE table_schema not in ('information_schema', 'mysql', 'performance_schema')ORDER BY table_schema, table_name;

那么,为什么要查询用户表了表名之外,MySQL查询还返回有关每个表的大量有用信息,包括行数、存储引擎、它们的大小、最后一个auto_increment值等等!

27user_tables(1).jpg

如果您只想要MySQL中的表名,那很容易做到。您可以使用WHERE子句来缩小列表的范围,也可以发出以下命令:

SHOW FULL TABLES IN [database_name] WHERE TABLE_TYPE LIKE 'BASE TABLE';

获取所有视图名称

同样,确切的语法因供应商而异,但是有一些示例将提供一个很好的起点。

这是SQL Server语法:

SELECT * FROM sys.views

在MySQL中,我们可以通过将TABLE_TYPE限制为“VIEW”来缩小列表的范围。我们仍然必须排除sys数据库,因为它包含许多视图:

SELECT * FROM information_schema.`TABLES`WHERE TABLE_TYPE = 'VIEW'AND table_schema != 'sys';

这是Navicat Premium的结果:

28views(1).jpg

寻找特定数据库的视图可以将WHERE子句更改为:

AND TABLE_SCHEMA LIKE '[database_name]'

以下命令也将起作用:

SHOW FULL TABLES IN [database_name] WHERE TABLE_TYPE LIKE 'VIEW';

这将返回视图名称及其类型,该名称始终为“view”:

29views_in_db.jpg

一般技巧:使用表别名

编写SQL查询和科学都是一门艺术。您可以养成一些良好的习惯,这些习惯可以提高工作效率或简化写作。例如,表(或SQL)别名用于为表或表中的列提供一个临时名称,该临时名称仅在查询期间存在。可以使用别名来使列名更易读且更不易出错。

您需要做的就是在FROM子句中的表名之后包含“AS [alias_name]”:

SELECT column_name(s)FROM table_name AS alias_name;

当您使用查询编辑器(如Navicat的查询编辑器)时,别名确实可以保留。假设我们要从参与者表中选择一些字段。首先,我们将列列表留空,然后输入FROM子句,并附上表别名:

SELECTFROM actor as a

现在,当我们输入较短的表别名时,Navicat将显示一个具有所有表列的自动完成列表:

30auto_complete.jpg

以这种方式编写查询不仅更快,而且可以消除列的拼写错误!

结论

在今天的文章中,我们学习了一些查询和技巧,使我们的SELECT几乎可以使用Navicat Premium作为数据库客户端来编写自己。Navicat通过获取关键字建议并从编码中去除重复内容,来帮助您通过代码完成和可自定义的代码片段快速进行编码。您可以获取Navicat Premium正式版进行评估!

相关内容推荐:

Navicat使用教程:您必须知道的几个SELECT查询

Navicat使用教程:如何使用SQL CASE语句来测试条件和离散值

Navicat使用教程:如何跨多个数据库查询

Navicat使用教程:从单个应用程序管理多个数据库

Navicat使用教程:从单个工具连接到多个数据库


想要购买Navicat Premium正版授权,或了解更多产品信息请点击“咨询在线客服”

Zend-Studio-640×220.png

标签:

来源:慧都

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2019年8月19日
下一篇 2019年8月19日

相关推荐

发表回复

登录后才能评论