mysql 获取数据库所有表名及获取字段名称

得到表名及所有表所有字段

-- 得到mysql 数据 表名和字段
SELECT
    TB.TABLE_SCHEMA,    -- 模式
    TB.TABLE_NAME,      -- 表名
    TB.TABLE_COMMENT,   -- 表名注释
    COL.COLUMN_NAME,    -- 字段名
    COL.COLUMN_TYPE,    -- 字段类型
    COL.COLUMN_COMMENT  -- 字段注释
FROM
    INFORMATION_SCHEMA.TABLES TB,
    INFORMATION_SCHEMA.COLUMNS COL
Where TB.TABLE_SCHEMA = 'smartxs' -- 数据库名
 AND TB.TABLE_NAME = COL.TABLE_NAME

只获取所有表名

-- 得到mysql 数据库 所有表名    
SELECT
    TB.TABLE_SCHEMA,    -- 模式
    TB.TABLE_NAME,      -- 表名
    TB.TABLE_COMMENT,   -- 表名注释
FROM
    INFORMATION_SCHEMA.TABLES TB
Where COL.TABLE_NAME=TB.TABLE_NAME and TB.TABLE_SCHEMA = 'smartxs' -- 数据库名

获取某一个表所有字段

-- 得到mysql 数据 表里面所有字段名称
SELECT 
    COL.COLUMN_NAME,    -- 字段名
  COL.COLUMN_TYPE,    -- 字段类型
  COL.COLUMN_COMMENT  -- 字段注释
FROM INFORMATION_SCHEMA.COLUMNS COL 
Where  COL.TABLE_NAME='xs_book' -- 表名

 

MySQL INSERT插入条件判断:如果不存在则插入

insert into book(BookName,BookIntro) 
SELECT 'test1','test111'
FROM DUAL
Where not exists (select * from book where BookName='test1')

 

Mysql查看指定数据库容量大小

select 
    table_schema as '数据库',
    table_name as '表名',
    table_rows as '记录数',
    truncate(data_length/1024/1024, 2) as '数据容量(MB)',
    truncate(index_length/1024/1024, 2) as '索引容量(MB)'
from information_schema.tables 
where table_schema='kintech_sys'
order by data_length desc, index_length desc;

 

posted @ 2020-07-04 15:54  为乐而来  阅读(5663)  评论(2编辑  收藏  举报