如何利用 Microsoft Query 查询数据库表结构
【摘要】 目的: 研究 Microsoft Query 在读取数据库表结构中的应用。方法: 使用数据库接口工具 ODBC 以及查询工具
【关键词】 Microsoft Query ; 表结构
Microsoft Query 是 Microsoft Office 的一个自带程序,用于检索外部的数据源,其用途非常广泛[1]。Microsoft Query
数据库表结构的方法。
1 创建 ODBC
本例中,服务器名 sgcwserver,数据库名 bagl。
打开 Windows 控制面板/管理工具/ODBC “,进入 ODBC ” “数据源管理器 界面。进入 创建到 SQL SERVER ”的新数据源 界面,输入数据源名称
“按[下一步],选择 使用用户输入登录 ID 和密码的 SQL Server ”验证 。录入登录 ID 及密码。本例登录 ID 为 sa,密码为空。按[下一步],选择所需连接的数据库
2 从数据库中读取表结构
运行 Microsoft Query 程序,程序位于 Office 安装目录中,如"C:\Program Files\Microsoft Office\Office10
‘在菜单中选择 文件/执行 SQL’,录入以下 SQL 语句:
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 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.xtype=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 sysproperties g on a.id=g.id and a.colid=g.smallid
left join sysproperties f on d.id=f.id and f.smallid=0
Order by a.id,a.colorder
选择数据源 sgcwserver_bagl 以及 bagl 数据库,输入登录 ID 和密码,本例登录 ID 为 sa ‘ ’ ‘ ’,密码为空;选择保存文件名 查询数据库表结构 ,按 执行 键。
以下为查询结果:
3 讨论
全面了解数据库的表结构,是进行数据挖掘的前提。根据数据库表的结构关系,就可以对同一个数据库中相关的表进行链接查询,也可以对多个数据库进行综合查询[
【参考文献】