Select data from “show tables” MySQL query

后端 未结 13 1734
难免孤独
难免孤独 2020-12-01 04:15

Is it possible to select from show tables in MySQL?

SELECT * FROM (SHOW TABLES) AS `my_tables`

Something along these lines, th

13条回答
  •  [愿得一人]
    2020-12-01 04:58

    Have you looked into querying INFORMATION_SCHEMA.Tables? As in

    SELECT ic.Table_Name,
        ic.Column_Name,
        ic.data_Type,
        IFNULL(Character_Maximum_Length,'') AS `Max`,
        ic.Numeric_precision as `Precision`,
        ic.numeric_scale as Scale,
        ic.Character_Maximum_Length as VarCharSize,
        ic.is_nullable as Nulls, 
        ic.ordinal_position as OrdinalPos, 
        ic.column_default as ColDefault, 
        ku.ordinal_position as PK,
        kcu.constraint_name,
        kcu.ordinal_position,
        tc.constraint_type
    FROM INFORMATION_SCHEMA.COLUMNS ic
        left outer join INFORMATION_SCHEMA.key_column_usage ku
            on ku.table_name = ic.table_name
            and ku.column_name = ic.column_name
        left outer join information_schema.key_column_usage kcu
            on kcu.column_name = ic.column_name
            and kcu.table_name = ic.table_name
        left outer join information_schema.table_constraints tc
            on kcu.constraint_name = tc.constraint_name
    order by ic.table_name, ic.ordinal_position;
    

提交回复
热议问题