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

本文介绍了如何使用SQL语句获取MySQL、PostgreSQL、Oracle和MsSQL数据库的表结构,包括字段名称、类型、长度等关键属性。针对每个数据库,提供了相应的查询方法和示例,帮助读者理解不同数据库下的表结构查询方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

通常我们提到数据库表结构的时候,比较关心的几个属性:
字段名称、类型、长度、是否主键、是否自增、是否为空、默认值、备注。
那么,使用SQL语句获取这些属性,在各主流数据库下是什么样的呢?

MySQL数据库

作为时下最流行的数据库,MySQL的获取SQL是最简单的。
一般我们用下面一行语句就能搞定:

SHOW FULL COLUMNS FROM xxx;

当然,也可以用MySQL自带的数据库information_schema中的表,例如:columns等查询更全的信息。

PostgreSQL数据库

使用其两个最重要的Schema(information_schema、pg_catalog)下表,进行关联查询,获取常用属性。

SELECT d.column_name AS "Field", d.udt_name AS "Type", COALESCE(d.character_maximum_length, d.numeric_precision, d.datetime_precision) AS "Length", 
  CASE WHEN t.conname IS NOT NULL THEN 'PRI' ELSE '' END AS "Key", 
  CASE WHEN s.extra IS NOT NULL THEN 'auto_increment' ELSE '' END "Extra", 
  d.is_nullable AS "Null", f.adsrc AS "Default", col_description(a.attrelid, a.attnum) AS "Comment"
 FROM information_schema.columns d, pg_class c, pg_attribute a
 LEFT JOIN pg_constraint t ON (a.a
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值