我在数据库RentalEase中有20个左右的表格,我想将它们打印出来(物理上),这样我可以更轻松地查看它们。我不关心他们的数据是什么,只是他们的结构。我怎样才能做到这一点?打印表格的结构/模式
这是一个SQL Express服务器,我使用Microsoft SQL Server Management Studio Express来管理它。我记得当我使用MySQL和PHP时,我可以使用DESCRIBE打印出来,但我不记得我是如何做到的。似乎没有成为一个描述的SQL Server
我在数据库RentalEase中有20个左右的表格,我想将它们打印出来(物理上),这样我可以更轻松地查看它们。我不关心他们的数据是什么,只是他们的结构。我怎样才能做到这一点?打印表格的结构/模式
这是一个SQL Express服务器,我使用Microsoft SQL Server Management Studio Express来管理它。我记得当我使用MySQL和PHP时,我可以使用DESCRIBE打印出来,但我不记得我是如何做到的。似乎没有成为一个描述的SQL Server
尝试:
sp_help <table_name>
您可以使用数据库架构图设计工具。刚落,所有的表那里,你会得到你的数据库包括所有按键
在Management Studio中的图表,
这将产生一个包含所有选择的文件模式定义的脚本文件。
您可以随时检查INFORMATION_SCHEMA视图以查找有关表格及其列的所有有趣信息。
这不是所谓的“描述”本身 - 但此查询会告诉你很多信息:
select * from Information_schema.Columns
where table_name = '(your table here)'
马克
这里是一个脚本,我写的只是列出了每个表和它们在列喜欢的格式:
表列
表1列1,列2 ... columnX
的脚本是:
declare @max_tables int
declare @max_columns int
declare @sql nvarchar(400)
declare @x int
declare @y int
declare @table varchar(50)
declare @columns varchar(800)
create table #c ([Table] varchar(50),[Columns] varchar(800))
select ROW_NUMBER() OVER(ORDER BY name) AS Row, name
into #table_list
from sys.objects
where type_desc = 'USER_TABLE'
order by name
set @max_tables = (select count(*) from sys.objects where type_desc = 'USER_TABLE')
set @y = 0
while @y < @max_tables
begin
set @y = @y + 1
set @table = (select name from #table_list where row = @y)
create table #t (c int)
set @sql = 'select count(*) as c from Information_schema.Columns where table_name = ''' + @table + ''''
insert into #t exec sp_executesql @sql
set @max_columns = (select top 1 c from #t)
DROP TABLE #t
set @x = 0
set @columns = ''
while @x < @max_columns
begin
set @x = @x + 1
set @columns = @columns + (select column_name from Information_schema.Columns where table_name = @table and ordinal_position = @x)
if @x < @max_columns set @columns = @columns + ', '
end
insert into #c select @table,@columns
end
select * from #c
DROP TABLE #c
DROP TABLE #table_List
我每天都使用它,但你可以删除EXEC – banjollity 2009-02-19 19:53:03
不公平!你编辑了它... – banjollity 2009-02-21 17:21:54