曂沅仴駦 发表于 2024-7-25 23:14:10

常见的几种数据库通过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}
SELECT TABLE_SCHEMA, TABLE_NAME, TABLE_COMMENT FROM INFORMATION_SCHEMA.TABLES
                  WHERE TABLE_SCHEMA = {schema} AND TABLE_NAME = {table} https://img-blog.csdnimg.cn/direct/f52507885e8a466da724bfcbb8b74cca.png 
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}
https://img-blog.csdnimg.cn/direct/78574cc0023b4d709ec437485a657352.png
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}
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}
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}
   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}
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
https://img-blog.csdnimg.cn/direct/c8610c225db6409cb6f70e64a4c416a8.png

oracle
https://img-blog.csdnimg.cn/direct/38efb6db0d72465eab085dc52521b443.png
 四、SQL常用统计语句


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

[*] COUNT():盘算行数
SELECT COUNT(*) FROM 表名; SELECT COUNT(列名) FROM 表名 WHERE 条件;
[*] SUM():盘算某列的总和
SELECT SUM(列名) FROM 表名 WHERE 条件;
[*] AVG():盘算某列的均匀值
SELECT AVG(列名) FROM 表名 WHERE 条件;
[*] MAX():返回某列的最大值
SELECT MAX(列名) FROM 表名 WHERE 条件;
[*] MIN():返回某列的最小值
SELECT MIN(列名) FROM 表名 WHERE 条件;
[*] GROUP BY:按一个或多个列对结果集进行分组
SELECT 列名1, 列名2, COUNT(*) FROM 表名 GROUP BY 列名1, 列名2 HAVING 条件; 注意:HAVING 子句用于对分组后的结果进行过滤。
7. DISTINCT:返回唯一差别的值
SELECT DISTINCT 列名 FROM 表名;
[*] JOIN(包括 INNER JOIN, LEFT JOIN, RIGHT JOIN 等):基于两个或多个表之间的相干列之间的关系,从这些表中查询数据
SELECT * FROM 表1 INNER JOIN 表2 ON 表1.列名 = 表2.列名;
[*] 子查询:在查询中嵌套另一个查询
SELECT 列名 FROM 表名 WHERE 列名 IN (SELECT 列名 FROM 其他表 WHERE 条件);
[*] 聚合函数与 GROUP BY 联合使用:这是非常常见的组合,用于对分组后的数据进行统计
SELECT 列名1, AVG(列名2) FROM 表名 GROUP BY 列名1 HAVING AVG(列名2) > 某个值;
[*] 排序:使用 ORDER BY 对结果进行排序
SELECT * FROM 表名 ORDER BY 列名 ASC|DESC; ASC 体现升序(默认),DESC` 体现降序。


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 常见的几种数据库通过SQL对表信息进行查询