데이터베이스(oracle, mysql, Dameng)의 테이블, 필드 등 관련 정보를 쿼리합니다.

  1. 오라클 데이터베이스:

모든 사용자에게 쿼리


select * from all_users 
-- where USERNAME like 'sys_%' 

모든 테이블 정보를 조회하고 사용자별로 조회


SELECT * FROM all_tables 
--WHERE OWNER = '' ORDER BY TABLE_NAME;

특정 사용자에 대해 테이블 ​​수와 테이블에 기록된 데이터의 양을 계산합니다.


SELECT count(table_name),sum(num_rows) FROM all_tables WHERE OWNER = ''

통계표 데이터 크기(M)


select c.segment_name,b.TABLE_NAME, c.bytes,round(c.bytes / 1024 / 1024, 2 )|| 'M' from 
(SELECT table_name FROM all_tables 
WHERE OWNER = '' ORDER BY TABLE_NAME
 ) b
LEFT JOIN user_segments c on c.segment_name = b.TABLE_NAME and segment_type = 'TABLE'

2.mysql 데이터베이스:

모든 테이블 정보 쿼리


select * 
from 
information_schema.tables 
where 
table_schema='当前数据库'
#table_rows是记录数

또는 테이블 이름만 보고 싶다면 다음을 사용할 수 있습니다.


show tables

빈 필드 주석이 있는 정보 쿼리


select
column_name,
column_comment,
table_name 
from information_schema.columns
where table_schema = '当前数据库'
and (column_comment  is null or column_comment ='') 

단일 테이블의 필드 주석 정보 보기


show full columns from 表名;

쿼리 테이블 데이터 길이 크기


SELECT
table_comment,
table_name,
    concat( round(DATA_LENGTH / 1024 / 1024, 2 ), 'M' ) 
FROM
    information_schema.TABLES 
WHERE
    table_schema = '当前数据库' 
    

3. 다멩 데이터베이스:

특정 모드에서 테이블 정보 쿼리


select * from sys.dba_tables where owner = '模式名'

--或者
select * from all_tables where owner = '模式名'

Dameng은 CLOB 유형을 처리합니다.

dbms_lob.substr(clobcolumn,4000), CLOB 필드를 가로채십시오.

Dameng은 TEXT 유형을 처리합니다.

변환(varchar(5000),TEXT 필드), TEXT 유형 처리

헤지에서 숫자가 아닌 소수점 부분을 제거합니다.

SELECT
  heji,
   REGEXP_REPLACE(heji, '[^0-9\.]+', '') AS stripped_column
FROM
  "test"."test";

4、프로스트그레SQL

쿼리 테이블 데이터의 양, 추정값, 부정확하고 정확한 데이터는 하나의 테이블 통계일 뿐입니다.

(통계 수집기는 언제든지 "이벤트가 있는" 행 수를 대략적으로 추적합니다(나중 업데이트로 삭제되거나 삭제되지 않음). 이벤트가 많은 경우 이 값은 약간 다를 수 있지만 일반적으로 좋은 추정치입니다. , 또한 표시할 수 있습니다. 만료된 행 수)

SELECT schemaname,relname,n_live_tup 
  FROM pg_stat_user_tables 
ORDER BY n_live_tup DESC;

추천

출처blog.csdn.net/y744786018/article/details/129727620