sqlserver、mysql、oracle查询表和列

sqlserver

查询一个表的所有列名,数据类型

select column_name,data_type from information_schema.columns 
where table_name = 'Sys_User'
  • information_schema:系统视图

  • sys.extended_properties:系统视图

--查询数据库所有表名

select name from sysobjects where xtype='u'


--查询数据库中所有表

select * from sys.tables
 

--查询数据库所有表名及每个表的行数

SELECT a.name, b.rows FROM sysobjects AS a 

INNER JOIN sysindexes AS b ON a.id = b.id

WHERE (a.type = 'u') AND (b.indid IN (0, 1))

ORDER BY a.name,b.rows DESC
 

--查询所有的表名及空间占用量\行数

select

object_name(id) tablename,

8*reserved/1024 reserved,

rtrim(8*dpages)+'kb' used,

8*(reserved-dpages)/1024 unused,

8*dpages/1024-rows/1024*minlen/1024 free,

rows

--,*

from sysindexes

where indid=1

order by tablename,reserved desc

 

mysql

查询所有表和对应的字段属性

SELECT
    TABLE_SCHEMA AS '库名',
    TABLE_NAME AS '表名',
    COLUMN_NAME AS '列名',
    ORDINAL_POSITION AS '列的排列顺序',
    COLUMN_DEFAULT AS '默认值',
    IS_NULLABLE AS '是否为空',
    DATA_TYPE AS '数据类型',
    CHARACTER_MAXIMUM_LENGTH AS '字符最大长度',
    NUMERIC_PRECISION AS '数值精度(最大位数)',
    NUMERIC_SCALE AS '小数精度',
    COLUMN_TYPE AS 列类型,
    COLUMN_KEY 'KEY',
    EXTRA AS '额外说明',
    COLUMN_COMMENT AS '注释'
FROM
    information_schema.`COLUMNS`
WHERE
    -- aaa为库名
    TABLE_SCHEMA = 'aaa'
ORDER BY
    TABLE_NAME,
    ORDINAL_POSITION;


mysql查询所有数据库表名和表注释

SELECT table_name, table_comment
FROM information_schema.tables
WHERE table_schema = '数据库名';

oracl


获取表

select table_name from user_tables; //当前用户拥有的表      
 
select table_name from all_tables; //所有用户的表
select table_name from dba_tables; //包括系统表
select table_name from dba_tables where owner='用户名'
 
-- user_tables:
-- table_name,tablespace_name,last_analyzed等
-- dba_tables:
-- ower,table_name,tablespace_name,last_analyzed等
-- all_tables:
-- ower,table_name,tablespace_name,last_analyzed等
-- all_objects:
-- ower,object_name,subobject_name,object_id,created,last_ddl_time,timestamp,status等

获取表字段

select * from user_tab_columns where Table_Name='用户表';
select * from all_tab_columns where Table_Name='用户表';
select * from dba_tab_columns where Table_Name='用户表';
-- user_tab_columns:
-- table_name,column_name,data_type,data_length,data_precision,data_scale,nullable,column_id等
-- all_tab_columns :
-- ower,table_name,column_name,data_type,data_length,data_precision,data_scale,nullable,column_id等
-- dba_tab_columns:
-- ower,table_name,column_name,data_type,data_length,data_precision,data_scale,nullable,column_id等

获取表注释

select * from user_tab_comments
-- user_tab_comments:table_name,table_type,comments
-- 相应的还有dba_tab_comments,all_tab_comments,这两个比user_tab_comments多了ower列。
-- 获取字段注释:
select * from user_col_comments
-- user_col_comments:table_name,column_name,comments
-- 相应的还有dba_col_comments,all_col_comments,这两个比user_col_comments多了ower列。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SQL Server和MySQL都是常见的关系型数据库管理系统(RDBMS),用于存储和管理数据。它们有一些共同点,但也存在一些区别。 共同点: 1. 数据存储:SQL Server和MySQL都支持在表中存储和组织数据,并提供了类似的数据类型(如整数、字符串、日期等)。 2. SQL语言:两者都使用结构化查询语言(SQL)进行数据查询和操作。 3. 安全性:SQL Server和MySQL都提供了安全功能,如用户认证和访问控制,以确保数据的机密性和完整性。 区别: 1. 所属公司:SQL Server是由Microsoft开发和维护的,而MySQL则是由Oracle公司(先前是Sun Microsystems)开发和维护的。 2. 授权方式:SQL Server是商业软件,需要购买许可证才能使用。而MySQL有两个版本可供选择:开源版本(MySQL Community Edition)和商业版本(MySQL Enterprise Edition)。 3. 平台支持:SQL Server主要在Windows操作系统上运行,尽管也有较新的版本支持Linux。而MySQL在多个操作系统上都有良好的支持,包括Windows、Linux和Mac OS等。 4. 性能和规模:SQL Server在处理大型数据库和高并发负载方面表现出色,适用于大型企业级应用。MySQL则在中小型应用中表现良好,尤其适合Web应用和小型企业。 5. 功能和扩展性:SQL Server提供了广泛的功能和工具,如分析服务、报表服务和集成服务,适用于复杂的企业解决方案。MySQL则更加轻量级,但也可以通过插件和扩展来满足特定需求。 总结来说,选择SQL Server还是MySQL取决于具体的需求和项目要求。对于大型企业级应用,需要强大的性能和功能支持的场景,SQL Server可能更适合。对于中小型应用和开发者社区支持较多的场景,MySQL是一个不错的选择。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值