在查看SQLServerManagementStudio(ssms)时,哪一个更好?为什么?在某些情况下,我们应该使用一个而不是另一个?我分不清他们之间的区别。
kx5bkwkv1#
INFORMATION_SCHEMA 如果有后台兼容性,它不会公开示例上对象的所有信息。 sys 但是,完全公开任何相关信息,尽管您确实需要编写更多的sql。 INFORMATION_SCHEMA 对于新用户来说“更容易”使用,比如 INFORMATION_SCHEMA.COLUMNS 包含对象中的表、架构、列和数据类型的名称。为了得到这个 sys 你必须使用 sys.schemas , sys.tables , sys.columns 以及 sys.types .过去在这个专栏上有一个关于SQLServer文档的注解 TABLE_SCHEMA 暗示这可能是错误的。今年早些时候,我在他们的github上对此进行了质疑。该说明现在指出,信息可能不完整,而不是不正确。再说一次,这是因为 INFORMATION_SCHEMA 不会暴露所有关于对象的信息 sys 做。
INFORMATION_SCHEMA
sys
INFORMATION_SCHEMA.COLUMNS
sys.schemas
sys.tables
sys.columns
sys.types
TABLE_SCHEMA
xxls0lw82#
这个 INFORMATION_SCHEMA 表是提供相对一致的数据库描述的标准表(井视图)。它们在许多数据库中都可用。系统目录特定于sql server。我认为这些表可能会在不同版本之间发生变化,尽管这并不是真的发生。我喜欢用 INFORMATION_SCHEMA 基本内容的表——比如数据库中的表和表中的列。系统表功能更强大,是专门为SQLServer设计的,因此在其他情况下需要使用这些表。
2条答案
按热度按时间kx5bkwkv1#
INFORMATION_SCHEMA
如果有后台兼容性,它不会公开示例上对象的所有信息。sys
但是,完全公开任何相关信息,尽管您确实需要编写更多的sql。INFORMATION_SCHEMA
对于新用户来说“更容易”使用,比如INFORMATION_SCHEMA.COLUMNS
包含对象中的表、架构、列和数据类型的名称。为了得到这个sys
你必须使用sys.schemas
,sys.tables
,sys.columns
以及sys.types
.过去在这个专栏上有一个关于SQLServer文档的注解
TABLE_SCHEMA
暗示这可能是错误的。今年早些时候,我在他们的github上对此进行了质疑。该说明现在指出,信息可能不完整,而不是不正确。再说一次,这是因为INFORMATION_SCHEMA
不会暴露所有关于对象的信息sys
做。xxls0lw82#
这个
INFORMATION_SCHEMA
表是提供相对一致的数据库描述的标准表(井视图)。它们在许多数据库中都可用。系统目录特定于sql server。我认为这些表可能会在不同版本之间发生变化,尽管这并不是真的发生。
我喜欢用
INFORMATION_SCHEMA
基本内容的表——比如数据库中的表和表中的列。系统表功能更强大,是专门为SQLServer设计的,因此在其他情况下需要使用这些表。