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

不久前,我们探索了你必须知道的一些 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 值等等!

如果你只想要在 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 的结果:

要寻找特定数据库的视图?你只需将 WHERE 子句更改为:

AND TABLE_SCHEMA LIKE '[database_name]'

以下命令也可以做到:

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

这将返回视图名称及其类型“VIEW”:

使用表别名

编写 SQL 查询既是一门艺术,也是一门科学。你可以养成一些良好的习惯,这些习惯会在生产力和/或写作的简易性方面带来好处。例如,表(或SQL)别名用于为表或表中的列提供仅在查询期间存在的临时名称。可以使用别名来使列名更具可读性并且更不容易出错。

你需要做的就是在 FROM 子句中的表名后面加上“AS [alias_name]”:

SELECT column_name(s)
FROM table_name AS alias_name;

当你使用像 Navicat 这样的查询编辑器时,别名真的很值得使用。假设我们要从 actor 表中选择一些字段。首先,我们将列列表留空,然后输入 FROM 子句,并使用表别名:

SELECTFROM actor as a

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

以这种方式编写查询不仅快速,而且还消除了列名拼写错误的可能性!

总结

在今天的文章中,我们学习了几个查询和技巧,使用Navicat Premium 作为数据库客户端使编写 SELECT 语句几乎全自动。Navicat 的自动完成代码和自定义的代码段功能透过关键字建议和减少重复输入相同的代码,令编码更加快速。你可以通过免费试用进行评估。现在慧都双节同庆!限时优惠Navicat Premium正版授权立减1000,一次购买终身享用!前往慧都网查看详情!

select * 排除字段_interesting数据库查找语句Select还能这样用相关推荐

  1. MySQL数据库——查询语句SELECT的学习总结,2W字超详细总结,值得收藏

    文章目录 一.基本的SELECT语句 1.SQL分类 2.SQL的语言规范 2.1.基本规则(必须遵守) 2.2.SQL大小写规范(建议遵守) 2.3.注释 2.4.数据导入指令 3.基本的SELEC ...

  2. 数据库SQL语句 SELECT LIKE like用法详解

    转自:http://zvv.me/sql-server/447.html 在SQL结构化查询语言中,LIKE语句有着至关重要的作用. LIKE语句的语法格式是:select * from 表名 whe ...

  3. select * 排除字段_编写 SQL 的排除联接

    有两个表,就叫作源表和目标表吧.它们有一个相同的字段,通过该字段可以把源表和目标表关联在一起,我们希望从源表中检索到的记录里的关联字段的值没有存在目标表中.举个例子,源表 dept,目标表 emp,获 ...

  4. mysql select in 排序_MySQL数据库之Mysql select in 按id排序实现方法

    本文主要向大家介绍了MySQL数据库之Mysql select in 按id排序实现方法 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. 表结构如下: mysql> sel ...

  5. [数据库] SQL语句select简单记录总结

    最近SQL语句写得比较多,也发现了自己的很多不足之处.在此先写一篇关于SQL语句的在线笔记,方便大家学习和后面的工作,SQL Server.MySQL.Oracle基本语法都类似,接下来我需要阅读&l ...

  6. select count(1) 、select count(*) 、select count(字段)的区别、及性能

    select count(*) from teacher; //11 select count(1) from teacher; //11 select count(id) from teacher; ...

  7. MySQL查询语句(select)详解

    1.查询记录 select*from 表名 [where 条件];eg:select*from students;//查询 students 表中所有记录,所有字段的值都显示出来select fiel ...

  8. 经典的数据库查询语句大全

    (转)经典SQL查询语句大全 (2011-05-25 21:49:10)转载▼ 标签: 杂谈 一.基础 1.说明:创建数据库 CREATE DATABASE database-name 2.说明:删除 ...

  9. [转]sql server性能分析--检测数据库阻塞语句

    create PROCEDURE [dbo].[auto_checkblocks] AS set nocount on if exists ( select * from master..syspro ...

最新文章

  1. 在Lotus Domino中使用Java构建应用程序
  2. 负载均衡服务器性能,服务器负载均衡:确保应用服务的高性能与高可用
  3. 1.2 为Eclipse绑定Tomcat
  4. struts文件上传,获取文件名和文件类型
  5. Vue.js 状态过渡
  6. 面向对象的23种设计模式
  7. 让批处理文件(.bat)程序无窗口(隐藏/静默)运行
  8. leetcode刷题可以用python吗_LeetCode刷题——第四天(python)
  9. 推特超2K赞,DeepMind强化学习综述:她可以很快,但快从慢中来
  10. disc性格测试cs适合职业_DISC职业性格测试
  11. win11中利用IIS10搭建asp网站
  12. EasyCVR人脸识别框在播放器上显示及消失的机制设定
  13. TDengine在图扑工业物联网监控平台中的应用
  14. opencv 双目标定操作完整版
  15. Fiddler抓包基础使用
  16. ETR获取转速及PID调节原则
  17. 过程分析对进行有针对性ICS攻击的意义
  18. 【Python】杂记
  19. 黑裙掉盘共享文件夹重新创建
  20. 【LeetCode】解题309:Best Time to Buy and Sell Stock with Cooldown(动态规划)

热门文章

  1. Python基础——类(Class)
  2. 机器学习之监督学习(一)——决策树
  3. B+/-Tree原理
  4. 麻省理工学院《算法导论》(MIT - Introduction to Algorithms)
  5. 去除Word文档中的页眉横线
  6. 高阶java_Java高阶语法---final
  7. 401 un[Authorize]
  8. c++多线程——线程启动
  9. Java 基础 引用数据类型 和 流程控制
  10. delphi三方控件的安装方法