Interroger des informations liées telles que des tables et des champs dans la base de données (oracle, mysql, Dameng)

  1. base de données Oracle :

Interroger tous les utilisateurs


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

Interroger toutes les informations de la table et interroger en fonction de l'utilisateur


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

Comptez le nombre de tables et la quantité de données enregistrées dans les tables pour un certain utilisateur


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

Taille des données du tableau de statistiques (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.base de données mysql :

Interroger toutes les informations de la table


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

Ou si vous souhaitez simplement voir le nom de la table, vous pouvez utiliser


show tables

Interroger des informations avec des annotations de champ vides


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

Afficher les informations d'annotation de champ d'une seule table


show full columns from 表名;

Taille de la longueur des données de la table de requête


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

3. Base de données Dameng :

Interroger les informations de la table dans un certain mode


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

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

Dameng gère les types CLOB :

dbms_lob.substr(clobcolumn,4000), intercepte le champ CLOB ;

Dameng gère le type de TEXTE :

convert(varchar(5000),TEXT field), traite le type TEXTE

Supprimez la partie décimale non numérique dans heji :

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

4、prostgreSQL

Le volume de données de la table de requête, la valeur estimée, les données inexactes et précises ne constituent qu'une seule statistique de table

(Le collecteur de statistiques suit approximativement le nombre de lignes « mouvementées » à tout moment (non supprimées ou ignorées par les mises à jour ultérieures). En cas d'événements importants, cette valeur peut être légèrement erronée, mais constitue généralement une bonne estimation. , peut également afficher combien de lignes ont expiré)

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

Je suppose que tu aimes

Origine blog.csdn.net/y744786018/article/details/129727620
conseillé
Classement