数据库--SQL SERVER 和ACCESS 查询表名

本文介绍如何在SQL Server和Access中查询所有表的名字及其字段名。对于SQL Server,可通过sysobjects和syscolumns系统表获取信息;对于Access,则需查询MSysObjects,并解决了查询该表的权限问题。

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

SQL SERVER

查看所有表名:
select    name    from    sysobjects    where    type='U'

查询表的所有字段名:
Select name from syscolumns Where ID=OBJECT_ID('表名')

select * from information_schema.tables
select * from information_schema.views
select * from information_schema.columns

ACCESS

查看所有表名:
select    name    from    MSysObjects    where    type=1    and    flags=0

   MSysObjects是系统对象,默认情况是隐藏的。通过工具、选项、视图、显示、系统对象可以使之显示出来。  

 当我读取ACCESS里的系统表MSysObjects时,出现:不能读取记录;在 'MSysObjects' 上没有读取数据权限。的提示,语句是:select name from MSysObjects where type=1 and flags=0,而这个语句是可以直接在ACCESS查询器里使用的,不知为何,网游一翻,找到解决方法,不过还好,按这样的设置后以后这个数据库就可以读取这个表了。

操作过程:

  默认的情况是admin对MSysObjects没有任何权限!包括查询

  打开您的ACCESS数据库,然后

  工具 -> 选项 -> 视图 -> 隐藏对象、系统对象
前面的勾选上。

  工具 -> 安全 -> 用户与组的权限 
在对象名称中选定 MSysObjects ,然后权限中设置其权限就可以直接读取了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值