首页 > 数据库 >数据库 - 不同数据库将表、字段、描述保存到Excel

数据库 - 不同数据库将表、字段、描述保存到Excel

时间:2023-06-28 12:55:04浏览次数:47  
标签:NAME -- 数据库 Excel 将表 WHERE ID SELECT

不同数据库将表、字段、描述保存到Excel

查询语句

SqlServer

SELECT 
表名 = CASE WHEN A.COLORDER=1 THEN D.NAME ELSE '' END,
表备注 = 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='U ' --AND D.NAME<>'DTPROPERTIES'
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

--where D.NAME='tbname'   --查询这个表

ORDER BY A.ID,A.COLORDER

Oracle

SELECT A.COLUMN_NAME AS columnName,
       A.DATA_TYPE   AS columnType,
       A.CHAR_LENGTH AS charLength,
       A.NULLABLE    AS isNullAble,
       B.comments    AS columnComment
FROM all_tab_columns A,
     DBA_COL_COMMENTS B
WHERE A.OWNER = B.OWNER
  AND A.table_name = B.table_name
  AND A.COLUMN_NAME = B.COLUMN_NAME
  AND A.OWNER = #{dbName} -- 数据库名
  AND A .TABLE_NAME = #{tableName} -- 表名

MySQL

SELECT
    column_name as columnName,
    column_type as columnType,
    is_nullable as isNullAble,
    COLUMN_DEFAULT as columnDefault,
    column_comment as columnComment,
CHARACTER_MAXIMUM_LENGTH as charLength
FROM
    information_schema.COLUMNS
WHERE
    table_schema = #{dbName} -- 数据库名
        AND table_name = #{tableName} -- 表名

 转换成Excel

将查询出来的结果以 CSV 格式导出,之后在Excel中找到 【数据】-【分列】,以逗号为分隔符分割,就可以了

标签:NAME,--,数据库,Excel,将表,WHERE,ID,SELECT
From: https://www.cnblogs.com/helios-fz/p/17511114.html

相关文章

  • Excel JavaScript object model in Office Add-ins
    ExcelJavaScriptobjectmodelinOfficeAdd-ins-OfficeAdd-ins|MicrosoftLearnOffice.jsAPIforExcelExcel加载项使用 OfficeJavaScriptAPI 与Excel中的对象进行交互,其中包括两个JavaScript对象模型:ExcelJavaScriptAPI:随Office2016一起引入的Exc......
  • C++ - 连接mysql数据库
    1.准备工作1.1把libmysql.dll和libmysql.lib文件复制到工程目录下首先,我们要找到刚刚开始下载的MySQL数据库的安装目录,打开目录,并且将libmysql.dll文件和libmysql.lib文件复制到工程目录下~我安装MySQL的路径:C:\ProgramFiles\MySQL\MySQLServer5.7\lib 1.2......
  • 数据库基础知识
    数据库设计范式:第一范式每一列不能在进行换划分,第二范式每一张表都有自己的使命,且做的事相近。https://www.cnblogs.com/zl181015/p/9242699.html 查询执行顺序:from->on->join->where->groupby->having->count(聚合函数)->select->distinct->orderby->......
  • ExcelJS 导入导出excel带下拉框筛选数据
    importExcelJSfrom"exceljs"; asyncfunctionexportExcelTemplate(deptList:any){ constworkbook=newExcelJS.Workbook(); constworksheet=workbook.addWorksheet("模板"); worksheet.columns=[  {   header:"编号"......
  • ① Oracle数据库有多个实例,并且不知道sys密码情况下如何更新密码
    ①Oracle数据库有多个实例,并且不知道sys密码情况下如何更新密码sqlplus/@orclassysdba--@orcl是实例名②修改sys密码alterusersysidentifiedby123456;......
  • 闪回数据库的应用场景和测试
    如果是用户主生产环境,通常不会有用户会开启这个功能。但如果是在ADG备库端,就会有不少客户选择开启这个功能,这可以有效补充误操作应急处置方法。今天给某客户做技术支持的时候,在现场遇到一个蛮有意思的问题:XTTS测试场景,库非常大,数据文件很多,远超db_files的默认值。在表空间元数......
  • 数据库Oracle12C忘记密码
    解决方案:1.使用sysdba账号登陆之后可以修改其他账号密码按下WIN+R输入cmd按下回车,运行cmd按如下输入命令sqlplus/assysdba 2.解除锁定账号alteruser用户名accountunlock;---------解除锁定(必须带“;”号)以system用户名为例,即命令为alterusersystemaccountunl......
  • 云数据库产品
    服务:通过网络来获得。 国内:goole:优势:微软:(支持局部事务) ......
  • 云数据库
    云计算概念:云计算八大优势:1.按需服务  2.随时服务  3.通用性 4.高可靠性 5.极其廉价6.超大规模  7.虚拟化  8.高扩展性云数据库概念和特点:云数据库优良特性: 腾讯云数据库和自建数据库的比较个性化存储需求:1.大企业海量数据存储需求。2.中小企业......
  • 文档数据库MongoDB
    MongoDB简介:特点:1.提供了一个面向文档储存,操作起来比较简单和容易2.可以设置任何属性的索引,实现更快的排序3.具有较好的水平可扩展性4.支持丰富的查询表达式,可查询文档中内嵌的对象及数组5.可替换已完成文档某个指定的数据字段6.MongoDB中的MapReduce主要是用来对数据进......