这篇文章主要介绍“怎么用SQL语句查看SQL Server的结构信息”,在日常操作中,相信很多人在怎么用SQL语句查看SQL Server的结构信息问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用SQL语句查看SQL Server的结构信息”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
1、获取数据库配置信息
exec sp_server_info
2、返回所有数据库
exec sp_databases
有三种方法可以使用,分别是:
1、利用sysobjects系统表或sys.objects目录视图
select * from sysobjects where xtype='U' select * from sys.objects where xtype='U'
2、利用sys.tables目录视图
select * from sys.tables
3、利用存储过程sp_tables
exec sp_tables
有两种方法可以使用,分别是:
1、利用sysobjects系统表或sys.objects目录视图
select * from sysobjects where xtype='V' select * from sys.objects where xtype='V'
2、利用sys.tables目录视图
select * from sys.tables
有两种方法可以使用,分别是:
1、利用sysobjects系统表或sys.objects目录视图
select * from sysobjects where xtype='P' select * from sys.objects where xtype='P'
2、利用sys.procedures目录视图
select * from sys.procedures
要用到系统视图sys.all_objects和sys.sql_modules,写法如下:
select a.name,a.[type],b.[definition] from sys.all_objects a,sys.sql_modules b where a.is_ms_shipped=0 and a.object_id = b.object_id and a.[type] in ('P','V') order by a.[name] asc
其中 sys.all_objects 是 sql server 2012 版本中的系统视图,在 更早期的 sql server 版本中,应该用 sys.objects,同时,sys.objects 在 2012 中也是可以用的,只不过考虑到后续兼容性,在新版本中,用新的 name 还是比较好。
sys.all_objects.type字段常用的类型有: P = 存储过程、V = 视图、U = 表(用户定义类型)、TT = 表类型 、AF = 聚合函数等。
sys.sql_modules.definition返回的就是定义存储过程或视图的脚本。
1、如果单纯获取字段名称,只需要用到系统表syscolumns。
select * from syscolumns where id=object_id('表名')
2、如果要获取字段和对应的数据类型,需要用到系统表syscolumns和systypes。
select a.name as [column],b.name as type from syscolumns a,systypes b where a.id=object_id('表名') and a.xtype=b.xtype
3、获取更详细的表结构信息,调用[INFORMATION_SCHEMA].[COLUMNS]。
SELECT c.TABLE_SCHEMA , c.TABLE_NAME , c.COLUMN_NAME , c.DATA_TYPE , c.CHARACTER_MAXIMUM_LENGTH , c.COLUMN_DEFAULT , c.IS_NULLABLE , c.NUMERIC_PRECISION , c.NUMERIC_SCALE FROM [INFORMATION_SCHEMA].[COLUMNS] c WHERE TABLE_NAME = 'idata'
到此,关于“怎么用SQL语句查看SQL Server的结构信息”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。