常见的几种数据库通过SQL对表信息进行查询

一、前言

我们查询数据库表的信息,一般都使用界面化的连接工具查看,很少使用SQL语句去查,而且不同的数据库SQL语句又各自有差异。但如果通过代码去获取数据库表的信息,这时就需要通过SQL语句去查了,这个在逆向代码生成工具中经常有使用。

二、通过SQL对表信息进行查询

1、mysql查询表的信息

SELECT TABLE_SCHEMA, TABLE_NAME, TABLE_COMMENT FROM INFORMATION_SCHEMA.TABLES

WHERE TABLE_SCHEMA = {schema} AND TABLE_NAME = {table}

sql 复制代码
 SELECT TABLE_SCHEMA, TABLE_NAME, TABLE_COMMENT FROM INFORMATION_SCHEMA.TABLES 
                    WHERE TABLE_SCHEMA = {schema} AND TABLE_NAME = {table}

2、mysql产线表字段的信息

SELECT TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME, COLUMN_COMMENT FROM INFORMATION_SCHEMA.COLUMNS

WHERE TABLE_SCHEMA = {schema} AND TABLE_NAME = {table} AND COLUMN_NAME = {column}

sql 复制代码
  SELECT TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME, COLUMN_COMMENT FROM INFORMATION_SCHEMA.COLUMNS 
                    WHERE TABLE_SCHEMA = {schema} AND TABLE_NAME = {table} AND COLUMN_NAME = {column}

3、postgressql查询表信息

SELECT TABLE_SCHEMA, TABLE_NAME, TABLE_COMMENT FROM INFORMATION_SCHEMA.TABLES

WHERE TABLE_SCHEMA = {schema} AND TABLE_NAME = {table}

sql 复制代码
 SELECT TABLE_SCHEMA, TABLE_NAME, TABLE_COMMENT FROM INFORMATION_SCHEMA.TABLES
                    WHERE TABLE_SCHEMA = {schema} AND TABLE_NAME = {table}

4、 postgressql查询表字段信息

SELECT TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME, COLUMN_COMMENT FROM INFORMATION_SCHEMA.COLUMNS

WHERE TABLE_SCHEMA = {schema} AND TABLE_NAME = {table} AND COLUMN_NAME = {column}

sql 复制代码
  SELECT TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME, COLUMN_COMMENT FROM INFORMATION_SCHEMA.COLUMNS
                    WHERE TABLE_SCHEMA = {schema} AND TABLE_NAME = {table} AND COLUMN_NAME = {column}

5、oracle查询表信息

SELECT OWNER TABLE_SCHEMA, TABLE_NAME, TABLE_COMMENT FROM ALL_TAB_COMMENTS

WHERE OWNER = {schema} AND TABLE_NAME = {table}

sql 复制代码
   SELECT OWNER TABLE_SCHEMA, TABLE_NAME, TABLE_COMMENT FROM ALL_TAB_COMMENTS
                    WHERE OWNER = {schema} AND TABLE_NAME = {table}

6、oracle查询表字段信息

SELECT OWNER TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME, COLUMN_COMMENT FROM ALL_COL_COMMENTS

WHERE OWNER = {schema} AND TABLE_NAME = {table} AND COLUMN_NAME = {column}

sql 复制代码
 SELECT OWNER TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME, COLUMN_COMMENT FROM ALL_COL_COMMENTS
                    WHERE OWNER = {schema} AND TABLE_NAME = {table} AND COLUMN_NAME = {column}

三、Java数据类型和数据库数据类型的对应关系

mysql

oracle

四、SQL常用统计语句

SQL 提供了多种统计语句来帮助我们分析数据库中的数据。以下是一些常用的 SQL 统计语句及其示例:

  1. COUNT():计算行数

|---|--------------------------------------|
| | SELECT COUNT(*) FROM 表名; |
| | SELECT COUNT(列名) FROM 表名 WHERE 条件; |

  1. SUM():计算某列的总和

|---|------------------------------------|
| | SELECT SUM(列名) FROM 表名 WHERE 条件; |

  1. AVG():计算某列的平均值

|---|------------------------------------|
| | SELECT AVG(列名) FROM 表名 WHERE 条件; |

  1. MAX():返回某列的最大值

|---|------------------------------------|
| | SELECT MAX(列名) FROM 表名 WHERE 条件; |

  1. MIN():返回某列的最小值

|---|------------------------------------|
| | SELECT MIN(列名) FROM 表名 WHERE 条件; |

  1. GROUP BY:按一个或多个列对结果集进行分组

|---|------------------------------|
| | SELECT 列名1, 列名2, COUNT(*) |
| | FROM 表名 |
| | GROUP BY 列名1, 列名2 |
| | HAVING 条件; |

注意:HAVING 子句用于对分组后的结果进行过滤。

  1. DISTINCT:返回唯一不同的值

|---|-------------------------------|
| | SELECT DISTINCT 列名 FROM 表名; |

  1. JOIN(包括 INNER JOIN, LEFT JOIN, RIGHT JOIN 等):基于两个或多个表之间的相关列之间的关系,从这些表中查询数据

|---|-----------------------------------|
| | SELECT * |
| | FROM 表1 |
| | INNER JOIN 表2 ON 表1.列名 = 表2.列名; |

  1. 子查询:在查询中嵌套另一个查询

|---|----------------------------------------------|
| | SELECT 列名 |
| | FROM 表名 |
| | WHERE 列名 IN (SELECT 列名 FROM 其他表 WHERE 条件); |

  1. 聚合函数与 GROUP BY 结合使用:这是非常常见的组合,用于对分组后的数据进行统计

|---|--------------------------|
| | SELECT 列名1, AVG(列名2) |
| | FROM 表名 |
| | GROUP BY 列名1 |
| | HAVING AVG(列名2) > 某个值; |

  1. 排序 :使用 ORDER BY 对结果进行排序

|---|------------------------------------------|
| | SELECT * FROM 表名 ORDER BY 列名 ASC|DESC; |

ASC 表示升序(默认),DESC` 表示降序。

相关推荐
GreatSQL4 分钟前
GreatSQL分页查询优化案例实战
数据库
Leo.yuan27 分钟前
不同数据仓库模型有什么不同?企业如何选择适合的数据仓库模型?
大数据·数据库·数据仓库·信息可视化·spark
麦兜*44 分钟前
MongoDB 6.0 新特性解读:时间序列集合与加密查询
数据库·spring boot·mongodb·spring·spring cloud·系统架构
chat2tomorrow1 小时前
数据采集平台的起源与演进:从ETL到数据复制
大数据·数据库·数据仓库·mysql·低代码·postgresql·etl
稻草人想看远方1 小时前
关系型数据库和非关系型数据库
数据库
考虑考虑1 小时前
Postgerssql格式化时间
数据库·后端·postgresql
千里码aicood1 小时前
【springboot+vue】党员党建活动管理平台(源码+文档+调试+基础修改+答疑)
java·数据库·spring boot
Chan161 小时前
【智能协同云图库】基于统一接口架构构建多维度分析功能、结合 ECharts 可视化与权限校验实现用户 / 管理员图库统计、通过 SQL 优化与流式处理提升数据
java·spring boot·后端·sql·spring·intellij-idea·echarts
TDengine (老段)1 小时前
TDengine 选择函数 Max() 用户手册
大数据·数据库·物联网·时序数据库·tdengine·涛思数据
驾驭人生1 小时前
Asp .Net Core 系列:Asp .Net Core 集成 Hangfire+MySQL
数据库·mysql·.netcore