Oracle,PostgreSQL,MySql,SqlServer各数据库查元信息的SQL

SQLite、MySQL、SQL Server、Oracle 和 PostgreSQL 五种数据库的区别 【代码】SQLite、MySQL、SQL Server、Oracle 和 PostgreSQL 五种数据库的区别。 阅读详情

Oracle

查询表字段信息

SELECT
    a.COLUMN_NAME AS B_NAME,  -- 字段名称
    a.DATA_TYPE,              -- 字段数据类型
    CASE 
        WHEN a.COLUMN_NAME IN (
            SELECT cols.column_name
            FROM all_constraints cons, all_cons_columns cols
            WHERE cons.constraint_type = 'P'  -- 主键约束
              AND cons.constraint_name = cols.constraint_name
              AND cons.owner = cols.owner
              AND cols.COLUMN_NAME = a.COLUMN_NAME
              AND cols.TABLE_NAME = 'TB_CIS_CONSULT_DETAIL'
              AND cons.OWNER = 'GZFY'
        ) THEN 'PRI'           -- 如果字段是主键,则标记为 'PRI'
        ELSE NULL              -- 否则为 NULL
    END COLUMN_KEY,
    b.COMMENTS AS remark       -- 字段备注
FROM all_tab_cols a 
LEFT JOIN all_col_comments b
    ON a.TABLE_NAME = b.TABLE_NAME 
    AND a.COLUMN_NAME = b.COLUMN_NAME 
    AND a.OWNER = b.OWNER
WHERE a.TABLE_NAME = 'TB_CIS_CONSULT_DETAIL'  -- 目标表名称
  AND HIDDEN_COLUMN = 'NO'                    -- 排除隐藏字段
  AND a.OWNER = 'GZFY';                       -- 表的所有者

查询表的键字段信息

SELECT
    column_name -- 键字段的名称
FROM all_ind_columns
WHERE table_owner = 'GZFY'   -- 表的所有者
  AND table_name = 'TB_CIS_CONSULT_DETAIL';  -- 目标表名称

查询表名或视图名

SELECT DISTINCT
    view_name AS table_name  -- 视图名称
FROM all_views
WHERE OWNER = 'GZFY'         -- 所有者
UNION
SELECT DISTINCT
    table_name               -- 表名称
FROM all_tables
WHERE OWNER = 'GZFY';        -- 所有者
ORDER BY table_name;         -- 按名称排序

预览表数据

SELECT 
    "TB_CIS_EMR_FEE"."UPDATE_DATE", 
    "TB_CIS_EMR_FEE"."COMMENTS", 
    "TB_CIS_EMR_FEE"."ID",
    -- 其他字段...
FROM "GZFY"."TB_CIS_EMR_FEE"
WHERE ROWNUM <= 10;          -- 限制返回结果为10行

PostgreSQL

查询表字段信息

SELECT 
    col.COLUMN_NAME,            -- 字段名称
    col.data_type,              -- 数据类型
    CASE 
        WHEN col.COLUMN_NAME IN (
            SELECT conname 
            FROM pg_catalog.pg_constraint
            JOIN pg_catalog.pg_namespace
              ON pg_catalog.pg_constraint.connamespace = pg_catalog.pg_namespace.oid
            JOIN pg_catalog.pg_class
              ON pg_catalog.pg_constraint.conrelid = pg_catalog.pg_class.oid
            WHERE pg_catalog.pg_constraint.contype = 'p' -- 主键约束
              AND pg_catalog.pg_namespace.nspname = 'public'
              AND pg_catalog.pg_class.relname = 'salaries'
        ) THEN 'PRI'
        ELSE NULL
    END PRI,                    -- 标记是否为主键
    (
        SELECT descr.description
        FROM pg_class AS cls
        INNER JOIN pg_attribute AS attr ON cls.oid = attr.attrelid
        LEFT JOIN pg_description AS descr ON (descr.objoid = cls.oid AND descr.objsubid = attr.attnum)
        WHERE cls.relkind IN ('r', 'v') 
          AND cls.relname = 'salaries' 
          AND attr.attname = col.COLUMN_NAME
    ) AS DESCRIPTION             -- 字段描述
FROM information_schema.COLUMNS col
WHERE table_schema = 'public'
  AND table_catalog = 'employees'
  AND table_name = 'salaries';

预览表数据

SELECT 
    "salaries"."emp_no", 
    "salaries"."salary", 
    to_char("salaries"."from_date", 'YYYY-MM-DD HH24:MI:SS'), 
    to_char("salaries"."to_date", 'YYYY-MM-DD HH24:MI:SS')
FROM "employees"."public"."salaries"
LIMIT 10; -- 限制返回10行

查询表名或视图名

SELECT table_name
FROM information_schema.tables
WHERE table_catalog = 'employees'
  AND table_schema = 'public'
  AND table_type NOT IN ('FOREIGN TABLE'); -- 排除外部表

MySQL

查询表名或视图名

SELECT DISTINCT TABLE_NAME, 
       TABLE_TYPE != 'BASE TABLE' AS IS_VIEW -- 判断是否为视图
FROM information_schema.TABLES
WHERE TABLE_SCHEMA = "test"; -- 目标数据库

查询表字段信息

SELECT 
    COLUMN_NAME,          -- 字段名称
    DATA_TYPE,            -- 数据类型
    COLUMN_KEY,           -- 键类型
    COLUMN_COMMENT        -- 字段备注
FROM information_schema.columns
WHERE TABLE_SCHEMA = 'test' 
  AND TABLE_NAME = 'tb_cis_patient_info';

查询表的键字段信息

SELECT DISTINCT 
    column_name -- 键字段的名称
FROM information_schema.STATISTICS
WHERE table_schema = 'test'
  AND table_name = 'tb_cis_patient_info';

预览表数据

SELECT 
    card_number, 
    card_type, 
    medical_institut_code,
    -- 其他字段...
FROM test.tb_cis_patient_info
LIMIT 10; -- 限制返回10行

SQL Server

查询表字段信息

SELECT
    remarks.column_name,      -- 字段名称
    columns.DATA_TYPE,        -- 数据类型
    columns.PRI,              -- 键标记
    remarks.remark            -- 字段备注
FROM (
    SELECT
        sc.name AS column_name,
        sep.value AS remark -- 字段备注
    FROM sys.tables st
    INNER JOIN sys.columns sc ON st.object_id = sc.object_id
    LEFT JOIN sys.extended_properties sep ON st.object_id = sep.major_id
       AND sc.column_id = sep.minor_id
       AND sep.name = 'MS_Description'
    WHERE st.name = 'CB_COST_ITEM' -- 表名称
) remarks
LEFT JOIN (
    SELECT DISTINCT
        T1.COLUMN_NAME,
        T1.DATA_TYPE,
        T2.PRI
    FROM (
        SELECT
            COLUMN_NAME,
            DATA_TYPE
        FROM INFORMATION_SCHEMA.COLUMNS
        WHERE TABLE_NAME = 'CB_COST_ITEM'
    ) T1
    LEFT JOIN (
        SELECT
            COLUMN_NAME,
            'PRI' AS PRI
        FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE
        WHERE TABLE_NAME = 'CB_COST_ITEM' AND CONSTRAINT_NAME LIKE 'PK%'
    ) T2 ON T2.COLUMN_NAME = T1.COLUMN_NAME
) columns ON columns.COLUMN_NAME = remarks.column_name;

查询表的键字段信息

SELECT
    col.name AS ColumnName -- 键字段的名称
FROM sys.indexes ind
INNER JOIN sys.index_columns ic ON ind.object_id = ic.object_id AND ind.index_id = ic.index_id
INNER JOIN sys.columns col ON ic.object_id = col.object_id AND ic.column_id = col.column_id
INNER JOIN sys.tables t ON ind.object_id = t.object_id
WHERE ind.is_primary_key = 0
  AND ind.is_unique = 0
  AND ind.is_unique_constraint = 0
  AND t.is_ms_shipped = 0
  AND t.name = 'CB_COST_ITEM'; -- 表名称

查询表名或视图名

SELECT TABLE_NAME
FROM INFORMATION_SCHEMA.TABLES
ORDER BY TABLE_NAME; -- 按表名排序

预览表数据

SELECT TOP 10 
    [PK_ID], 
    [ITEM_CODE], 
    [ITEM_NAME],
    -- 其他字段...
FROM [medicare_ZhuHaiJinWan].[dbo].[CB_COST_ITEM];
对Oracle 、SQL Server、MySQL、PostgreSQL数据库优缺点分析 Oracle Database Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。 是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统, 系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的 适应高吞吐量的数据库解决方案。 优点 Oracle 性能高 保持开放平台下TPC-D和TPC-C世界记录。 Oracle 多层次网络计算支持多种工业标准用 阅读详情

相关推荐

【物联网毕设】多模态智能门禁系统设计(STM32+人脸识别+蓝牙联动)

本文详细介绍了基于STM32的多模态智能门禁系统设计,整合了人脸识别、蓝牙联动、RFID和密码等多种开锁方式。文章从硬件选型、电路设计、嵌入式软件编程到手机APP开发,提供了完整的毕设实现方案与调试指南,帮助物联网与嵌入式方向的学生构建一个功能全面、可扩展的智能门禁系统。

rain6的博客 246

postgresql常用 ddl 语句记录

文章目录修改表名修改字段默认值增加非空约束删除字段去字段约束 修改表名 ALTER TABLE name RENAME TO new_name 修改字段默认值 alter table gzfy.tb_cis_patient_info alter column pg_serial_number set default '00000000' 增加非空约束 alter table gzf...

zhf's blog 1493

超声波清洗机拆解实录:从电路板到换能器,一文看懂内部构造(附高清图)

本文详细拆解了超声波清洗机的内部构造,从电路板设计到换能器工作原理,揭示了其核心技术。通过高清图片和详细分析,展示了功率放大电路、高频变压器及压电换能器等关键部件,为电子爱好者和维修技术人员提供了实用的故障诊断和元件二次利用指南。

grape的博客 1180

Oracle查询数据库元数据

-- 获取表字段 -- user_tab_columns 字段 -- table_name 表名称 -- column_name 字段名 -- data_type 字段类型 -- data_length 字段长度 -- ... select * from user_tab_columns where table_name='table_name'; -- 获取表注释 -- table_name

tinyq123的博客 9382

[PCIe5.0] 5.3.1.4.2 D3Cold State

主电源(Vcc)完全断开,仅保留极少量辅助电源(Vaux)用于维持基本唤醒功能设备功能完全关闭,所有寄存器状态丢失(除非有特殊存储)需要完全重新初始化才能恢复工作比D3Hot状态功耗更低,但唤醒延迟更长。

系统固件工程师 452

操作系统权限提升(十五)之绕过UAC提权-基于白名单DLL劫持绕过UAC提权

先将操作在本地执行,使用procmon进行监控,过滤DLL和 NAME NOT FOUND ,寻找可以替换的DLL文件,注意文件的权限是否可以在目录写入,可以看到在C盘的tools目录的文件中有一个srrstr.dll被调用,但是没有加载,我们生成恶意的DLL文件看看是否可以被劫持。在Windows中许多应用程序并不是一个完整的可执行文件,它们被分割成一些相对独立的动态链接库文件,即dll文件,放置于系统中,个人理解类似于我们编程中引入的模块。将我们生成的DLL文件改名为我们要劫持的DLL文件名。

把自己活成一道光,因为你不知道,谁会借着你的光,走出了黑暗。请保持心中的善良,因为你不知道,谁会借着你的善良,走出了绝望。请保持你心中的信仰,因为你不知道,谁会借着你的信仰,走出了迷茫。请相信自己的力量,因为你不知道,谁会因为相信你,开始相信了自己.... 1873

常用SQL查询

–查看表字段 select * from user_tab_columns where Table_Name = ? order by column_name;select * from user_tab_columns where Table_Name = ? order by column_name;–查看表的主键 select * from user_c

sindyIntel的专栏 426

【异常】Cursor导入Karpathy指南失败解决方案Failed to import GitHub/GitLab rules: Error executing git: Cloning into

摘要:本文解决了Git克隆单个文件报错的问题,指出git clone只能克隆整个仓库而非单个文件。提供了两种解决方案:1) 推荐手动创建规则文件,在Cursor项目中新建.mdc文件并粘贴Karpathy行为指南完整内容;2) 备选克隆整个仓库获取文件。指南包含编码行为规范,强调简单性、精准修改和明确目标。还说明了如何设置全局规则和即时生效的方法。

奶爸的编程之路,也就一周冷个三天 174

一次搞定各种数据库 SQL 执行计划:MySQL、Oracle、SQL Server、PostgreSQL 以及 SQLite

执行计划(execution plan,也叫查询计划或者解释计划)是数据库执行 SQL 语句的具体步骤,例如通过索引还是全表扫描访问表中的数据,连接查询的实现方式和连接的顺序等。如果 SQL 语句性能不够理想,我们首先应该查看它的执行计划。本文主要介绍如何在各种数据库中获取和理解执行计划,并给出进一步深入分析的参考文档。

Tony.Dong的专栏 2万+

《手把手教你玩转RTOS操作系统》专栏简介

《手把手教你玩转RTOS操作系统》专栏系统讲解实时操作系统开发,以FreeRTOS为主线,结合RT-Thread和Zephyr对比分析。内容涵盖RTOS基础、任务管理、通信机制、中断处理等核心知识,并配套STM32/ESP32平台实战项目。专栏特色在于零基础友好、实战驱动、多系统对比和行业趋势分析,适合嵌入式开发者进阶RTOS开发能力,解决实际项目中的选型与优化问题。通过完整学习路径,读者可掌握构建高可靠性嵌入式系统的关键技能。

MHD0815的博客 530

【maven】idea左侧External Libraries里,没有Maven的依赖包 代码飘红

文章目录1.概述M.参考 1.概述 因为内网开发,然后这几天我被隔离了,然后公司搞了一个外网的vpn能连接的云桌面,云桌面也是网络隔离的,因此只能自己拷贝相关的文件到里面。 然后我就拷贝了代码和maven仓库中的一部分,因为本地的20G一次拷贝不完,需要多次拷贝,但是我拷贝了kafka,仍然飘红。具体如下 idea左侧External Libraries里,没有Maven的依赖包 然后整了很久都没搞定,后来我自己新建了一个项目,然后引入发现是不可以的,而且框框里面的飘红。 然后我就想是不是因为缺少依赖

九师兄 4411

SQLServer,MySQL,Oracle,PostgreSQL数据库优缺点

Oracle,Mysql,SQLServer三分天下,SQLServer入门门槛确实低,Oracle灵活度大学习成本高,Mysql也有社区版和收费版,Mysql收费版有更高的性能更好的备份工具

港城大白鲨 4984

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

MySQL、PostgreSQL、Oracle、SQL Server四大数据库对比

在项目实战中接触到不同数据库,将其sql语法等需要注意的不同点记录下来

m0_52620144的博客 8196

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

python连接mysql、sqlserver、oracle、postgresql数据库进行封装

值得注意的是,在实际生产环境中,我们还需要考虑异常处理、连接池管理、安全性(如使用加密连接、不将密码硬编码在代码中)等方面的问题,以构建更健壮和安全的数据库连接和交互机制。通过这种封装方式,我们可以方便地在不同的Python脚本或模块中重用数据库连接和操作的代码,从而提高代码的可维护性和复用性。使用这个类,我们可以方便地连接到数据库,执行查询和非查询操作,并在完成后关闭连接,确保资源的正确管理。通过封装MySQL连接和操作,我们可以创建更加健壮和可维护的Python代码,同时减少重复的代码和潜在的错误。

Python老吕的博客 2569

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Oracle、SqlServer、Mysql、PostgreSQL数据库的选型

数据库选择方案: 2019年十月份的数据库排行榜 目前市面上流行的几种关系型数据库,分别是:Oracle、Mysql、SqlServer、PostgreSQL等;, (1)Oracle是大型数据库,Oracle市场占有率达40%,oracle 能在所有主流平台上运行,oracle 安全性高,获得最高认证级别的ISO标准认证,Oracle 性能高,同样Oracle的价格非常高。Ora...

zheng7982505的博客 1万+

sqlmap --os-shell的原理(MySQL,MSSQL,PostgreSQL,Oracle,SQLite)

【代码】sqlmap --os-shell的原理(MySQL,MSSQL,PostgreSQL,Oracle,SQLite)

weixin_67840381的博客 1973

SQL注入新思路:5种数据库的DNS外带攻击对比(MySQL/MSSQL/Oracle/PostgreSQL/SQL Server)

本文深入解析了SQL注入中的DNS外带攻击技术,横向对比了MySQL、MSSQL、Oracle、PostgreSQL及SQL Server五种主流数据库的实现方式与差异。文章详细阐述了利用LOAD_FILE等函数触发DNS查询以带出数据的技术原理,并探讨了其相较于传统盲注在效率与隐蔽性上的优势,为安全测试人员提供了绕过无回显场景的实用思路。

sprite的博客 591

Oracle、SQL Server、MySQL、PostgreSQL 的区别

Oracle、SQL Server、MySQL、PostgreSQL 的优缺点

weixin_44204857的博客 2248

常见数据库(MSSQL,Mysql,PostgreSQL,Oracle)安装注意事项

考虑到大家也可能尝试不熟悉的数据库,比如mysql,postgresql,或许可以作为参考。就我们许多的中小项目而言,数据量和并发要求很低,其实是足够。唯一缺乏的就是熟悉程度,个人感受呢,开源数据库使用起来会遇到很多问题,需要多实践多积累,物尽所用,最后会得心应手。其他人的经验:Windows 2012 r2 64位系统安装10.2.0.4的数据库64位,总会出现这个报错,要么是dbca的时候,要么就是建完数据库,一重启服务器之后,sqlplus也登陆不了报错。根据不同服务商,一般同区域的内网是互通的。

chengg0769 平淡无奇见真知 独立博客: http://blog.mis2erp.com 756

Python 中连接MSSQL,MySQL,SQLite,Redis,ElasticSearch,Mongodb,PostgreSQL,Oracle,RabbitMQ

在 `get_uri()` 方法中,返回。在连接参数中,使用 `host` 指定 MySQL 服务器的地址,`port` 指定 MySQL 服务器的端口号,`user` 指定登录的用户名,`password` 指定登录的密码,`database` 指定要连接的数据库名称。在连接字符串中,使用 `DRIVER={SQL Server}` 指定要使用的驱动程序,`SERVER` 指定服务器名称,`DATABASE` 指定要连接的数据库名称,`UID` 指定登录的用户名,`PWD` 指定登录的密码。

star8521的专栏 1425

【数据库开启归档日志】Oracle、MySQL、SQL Server、PostgreSQL

四种类型数据库开启归档日志操作步骤

weixin_55761321的博客 2285

使用sql获取各数据库(MySQL、PostgreSQL、Oracle、MsSQL)的表结构

通常我们提到数据库表结构的时候,比较关心的几个属性: 字段名称、类型、长度、是否主键、是否自增、是否为空、默认值、备注。 那么,使用SQL语句获取这些属性,在各主流数据库下是什么样的呢? MySQL数据库 作为时下最流行的数据库,MySQL的获取SQL是最简单的。 一般我们用下面一行语句就能搞定: SHOW FULL COLUMNS FROM xxx; 当然,也可以用MySQL自带的数据库i...

cradle2006的专栏 547

POSTGRESQL 用户怎么乱糟糟,出自其他DB的评论, 与SCHEMA 移魂大法

最近一些同学反应,POSTGRESQL 的用户到底怎么回事,怎么这么乱,说这些话的是MYSQL的DB 同学.是的,如果之前是操作MYSQL在使用了POSTGRESQL 后,是会感觉到,...

sql server的专栏 2237

MDUT核心功能详解:如何高效利用MySQL、MSSQL、Oracle、PostgreSQL、Redis

MDUT(Multiple Database Utilization Tools)是一款功能强大的多数据库管理工具,能够帮助用户高效管理和操作MySQL、MSSQL、Oracle、PostgreSQL和Redis等多种数据库系统。本文将详细介绍MDUT的核心功能,帮助新手和普通用户快速掌握这款工具的使用方法。 ## 一、MDUT的核心优势 MDUT作为一款多数据库管理工具,具有以下核心优势:

gitblog_00978的博客 960

oracle mysql mssql_使用sql获取各数据库(MySQL、PostgreSQL、Oracle、MsSQL)的表结构

通常我们提到数据库表结构的时候,比较关心的几个属性:字段名称、类型、长度、是否主键、是否自增、是否为空、默认值、备注。那么,使用SQL语句获取这些属性,在各主流数据库下是什么样的呢?MySQL数据库作为时下最流行的数据库,MySQL的获取SQL是最简单的。一般我们用下面一行语句就能搞定:SHOW FULL COLUMNS FROM xxx;当然,也可以用MySQL自带的数据库information...

weixin_39732609的博客 172
上一篇: .net core 使用Epplus导出excel(支持多表头,行列合并)
下一篇: SqlServer获取处理器、内存、磁盘以及操作系统相关信息
.NET跨平台
博客等级 码龄15年 6066粉丝 738原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值