热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

mysql+oracle+sqlserver查询数据库内所有表的信息,表名,索引,数据行数,备注,长度等等

SELECT表名casewhena.colorder1thend.nameelseend,索引j.name,表数据行数o.hs,表说明casewhena.colorder1then


SELECT

表名       = case when a.colorder=1 then d.name else '' end,

索引    = j.name,

表数据行数 = o.hs,

表说明     = case when a.colorder=1 then isnull(f.value,'') else '' end,

字段序号   = a.colorder,

字段名     = a.name,

标识       = case when COLUMNPROPERTY( a.id,a.name,'IsIdentity')=1 then '√'else '' end,

主键       = case when exists(SELECT 1 FROM sysobjects where xtype='PK' and parent_obj=a.id and name in (

SELECT name FROM sysindexes WHERE indid in( SELECT indid FROM sysindexkeys WHERE id = a.id AND colid=a.colid))) then '√' else '' end,

类型       = b.name,

占用字节数 = a.length,

长度       = COLUMNPROPERTY(a.id,a.name,'PRECISION'),

小数位数   = isnull(COLUMNPROPERTY(a.id,a.name,'Scale'),0),

允许空     = case when a.isnullable=1 then '√'else '' end,

默认值     = isnull(e.text,''),

字段说明   = isnull(g.[value],'')

FROM

syscolumns a

left join

systypes b

on

a.xusertype=b.xusertype

inner join

sysobjects d

on

a.id=d.id  and d.xtype=&#39;U&#39; and  d.name<>&#39;dtproperties&#39;

left join

syscomments e

on

a.cdefault=e.id

left join

sys.extended_properties   g

on

a.id=G.major_id and a.colid=g.minor_id

left join

sys.extended_properties f

on

d.id=f.major_id and f.minor_id=0

left join

(select  a.name ,b.rows as hs

from sysobjects a inner join sysindexes b

on a.id = b.id

where   a.type = &#39;u&#39;

and b.indid in (0,1)

) o

on (d.name = o.name)


left join sys.objects as h

on d.name=h.name

left join sys.indexes as j on h.object_id=j.object_id

where h.type<>&#39;s&#39;

order by

a.id,a.colorder

---------------------------------------------------以上是sqlserver------------------------------------------------------------

SELECT
d.TABLE_NAME tbName ,
COALESCE(t.COMMENTS, &#39; &#39;) tbDesc,
a.COLUMN_NAME columnName,
a.DATA_TYPE columnType,
a.DATA_LENGTH width,
a.DATA_SCALE precision,
d.NUM_ROWS,
decode(a.NULLABLE,&#39;Y&#39;,&#39;0&#39;,&#39;1&#39;) notNull,
COALESCE(m.COMMENTS, &#39; &#39;) comments,
decode(k.uniqueness,&#39;UNIQUE&#39;,&#39;1&#39;,&#39;0&#39;) uniques,
COALESCE(k.index_name, &#39; &#39;) indexName,
decode(k.key,&#39;Y&#39;,&#39;1&#39;,&#39;0&#39;) masterKey
FROM
user_tab_columns a
INNER JOIN user_tables d on a.TABLE_NAME=d.TABLE_NAME
LEFT JOIN user_tab_comments t ON t.TABLE_NAME=d.TABLE_NAME
LEFT JOIN user_col_comments m ON m.COLUMN_NAME=a.COLUMN_NAME AND m.TABLE_NAME=d.TABLE_NAME
LEFT JOIN
(
SELECT e.index_name,u.TABLE_NAME,u.COLUMN_NAME,e.uniqueness,decode(p.constraint_name,NULL,&#39;N&#39;,&#39;Y&#39;) key
from user_indexes e INNER JOIN user_ind_columns u ON e.index_name=u.index_name
LEFT JOIN ( select constraint_name from user_constraints where constraint_type=&#39;P&#39; ) p ON e.index_name=p.constraint_name
) k ON k.TABLE_NAME=a.TABLE_NAME and k.COLUMN_NAME=a.COLUMN_NAME
ORDER BY tbName
---------------------------------------------------以上是oracle------------------------------------------------------------
SELECT
        (case ORDINAL_POSITION when 1 then TABLE_NAME ELSE &#39;&#39; end ) &#39;库名&#39;,
        ORDINAL_POSITION AS &#39;列的排列顺序&#39;,
        COLUMN_COMMENT AS &#39;注释&#39;,
    COLUMN_NAME AS &#39;列名&#39;,
        IS_NULLABLE AS &#39;是否为空&#39;,
        DATA_TYPE AS &#39;数据类型&#39;,
        CHARACTER_MAXIMUM_LENGTH AS &#39;字符最大长度&#39;,
    COLUMN_DEFAULT AS &#39;默认值&#39;,
    NUMERIC_PRECISION AS &#39;数值精度(最大位数)&#39;,
    NUMERIC_SCALE AS &#39;小数精度&#39;,
    COLUMN_TYPE AS 列类型,
    COLUMN_KEY &#39;KEY&#39;,
    EXTRA AS &#39;额外说明&#39;
   
FROM
    information_schema.`COLUMNS`
WHERE
    TABLE_SCHEMA = &#39;ceshi&#39; (ceshi替换为库名即可)
ORDER BY
    TABLE_NAME,
    ORDINAL_POSITION;



---------------------------------------------------以上是mysql------------------------------------------------------------


推荐阅读
  • MyBatis多表查询与动态SQL使用
    本文介绍了MyBatis多表查询与动态SQL的使用方法,包括一对一查询和一对多查询。同时还介绍了动态SQL的使用,包括if标签、trim标签、where标签、set标签和foreach标签的用法。文章还提供了相关的配置信息和示例代码。 ... [详细]
  • 本文介绍了如何在MySQL中将零值替换为先前的非零值的方法,包括使用内联查询和更新查询。同时还提供了选择正确值的方法。 ... [详细]
  • 本文介绍了Oracle存储过程的基本语法和写法示例,同时还介绍了已命名的系统异常的产生原因。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • Oracle seg,V$TEMPSEG_USAGE与Oracle排序的关系及使用方法
    本文介绍了Oracle seg,V$TEMPSEG_USAGE与Oracle排序之间的关系,V$TEMPSEG_USAGE是V_$SORT_USAGE的同义词,通过查询dba_objects和dba_synonyms视图可以了解到它们的详细信息。同时,还探讨了V$TEMPSEG_USAGE的使用方法。 ... [详细]
  • 在Oracle11g以前版本中的的DataGuard物理备用数据库,可以以只读的方式打开数据库,但此时MediaRecovery利用日志进行数据同步的过 ... [详细]
  • Oracle分析函数first_value()和last_value()的用法及原理
    本文介绍了Oracle分析函数first_value()和last_value()的用法和原理,以及在查询销售记录日期和部门中的应用。通过示例和解释,详细说明了first_value()和last_value()的功能和不同之处。同时,对于last_value()的结果出现不一样的情况进行了解释,并提供了理解last_value()默认统计范围的方法。该文对于使用Oracle分析函数的开发人员和数据库管理员具有参考价值。 ... [详细]
  • 本文详细介绍了Spring的JdbcTemplate的使用方法,包括执行存储过程、存储函数的call()方法,执行任何SQL语句的execute()方法,单个更新和批量更新的update()和batchUpdate()方法,以及单查和列表查询的query()和queryForXXX()方法。提供了经过测试的API供使用。 ... [详细]
  • 本文讨论了在数据库打开和关闭状态下,重新命名或移动数据文件和日志文件的情况。针对性能和维护原因,需要将数据库文件移动到不同的磁盘上或重新分配到新的磁盘上的情况,以及在操作系统级别移动或重命名数据文件但未在数据库层进行重命名导致报错的情况。通过三个方面进行讨论。 ... [详细]
  • 前景:当UI一个查询条件为多项选择,或录入多个条件的时候,比如查询所有名称里面包含以下动态条件,需要模糊查询里面每一项时比如是这样一个数组条件:newstring[]{兴业银行, ... [详细]
  • ubuntu用sqoop将数据从hive导入mysql时,命令: ... [详细]
  • 本文详细介绍了如何使用MySQL来显示SQL语句的执行时间,并通过MySQL Query Profiler获取CPU和内存使用量以及系统锁和表锁的时间。同时介绍了效能分析的三种方法:瓶颈分析、工作负载分析和基于比率的分析。 ... [详细]
  • Python SQLAlchemy库的使用方法详解
    本文详细介绍了Python中使用SQLAlchemy库的方法。首先对SQLAlchemy进行了简介,包括其定义、适用的数据库类型等。然后讨论了SQLAlchemy提供的两种主要使用模式,即SQL表达式语言和ORM。针对不同的需求,给出了选择哪种模式的建议。最后,介绍了连接数据库的方法,包括创建SQLAlchemy引擎和执行SQL语句的接口。 ... [详细]
  • Windows7 64位系统安装PLSQL Developer的步骤和注意事项
    本文介绍了在Windows7 64位系统上安装PLSQL Developer的步骤和注意事项。首先下载并安装PLSQL Developer,注意不要安装在默认目录下。然后下载Windows 32位的oracle instant client,并解压到指定路径。最后,按照自己的喜好对解压后的文件进行命名和压缩。 ... [详细]
  • MySQL中的MVVC多版本并发控制机制的应用及实现
    本文介绍了MySQL中MVCC的应用及实现机制。MVCC是一种提高并发性能的技术,通过对事务内读取的内存进行处理,避免写操作堵塞读操作的并发问题。与其他数据库系统的MVCC实现机制不尽相同,MySQL的MVCC是在undolog中实现的。通过undolog可以找回数据的历史版本,提供给用户读取或在回滚时覆盖数据页上的数据。MySQL的大多数事务型存储引擎都实现了MVCC,但各自的实现机制有所不同。 ... [详细]
author-avatar
mobiledu2502927877
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有