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

翻译|使用教程|编辑:莫成敏|2019-09-23 09:54:47.840|阅读 88 次

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

# 您正在找协同办公软件吗?点击这里站长给您推荐 #

相关链接:

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

点击下载Navicat Premium正式版

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

获取所有用户创建的表

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

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

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

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

SELECT * from information_schema.tables
WHERE 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子句,并附上表别名:

SELECT

FROM 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




标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果

登录 慧都网发表评论


暂无评论...

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
相关厂商
相关产品
Navicat Premium

Navicat Premium 是一套数据库管理工具,让你使用一个程序即可同時连接到 MySQL、MariaDB、SQL Server、SQLite、Oracle 和 PostgreSQL 数据库。

在线
客服
在线
QQ
咨询
电话
177-4994-3557
购物车 反馈 返回
顶部
在线客服系统
live chat