SQL Server表可分为以下几类。
System tables
SQL Server将实例配置和数据库属性存储在一组特殊的表中。这些表称为System tables。不允许用户直接更改这些表。
SQL Server不允许直接查询特定的系统表。相反,它提供系统存储过程、函数、SQL Server管理对象和复制管理对象来查询这些组件。可以参考Microsoft文档以更详细地了解系统表。
Temporary tables
有时,需要将数据临时存储在数据库中,以便计算、操作或存储中间结果。在这些情况下可以利用始终保存在TempDB系统数据库中的临时表。
SQL Server有两种类型的临时表:
Local:每个本地临时表都以符号(#)开头。它的范围仅限于当前连接。一旦用户断开连接,SQL Server会自动删除这些表。
Global:每个全局临时表都以符号(##)开头。所有用户都可以引用全局临时表。如果所有引用全局表的用户都已连接,SQL Server将删除它。
-–TEMPORARYTable ( Local )
Create table #TableA
(
ID int,
[Name] varchar(50)
)
-–GlobalTemporary Table
Create table ##TableB
(
ID int,
[Name] varchar(50)
)
Permanentor user-defined table
用户可以根据自己的应用需求定义自己的表结构、列、数据类型、约束和索引。这些表称为用户定义表。
这些表始终存储在数据库中,除非有人明确删除它们。因此,这些也称为永久表。
在 SQL Server 中创建用户定义表有多种方法。
I. 使用ssms
II. 使用T-sql
-–Permanent Table
Create table TableA
(
ID int,
[Name] varchar(50)
)
Externaltables
外部表是一种特殊类型的表,可在SQL Server 2016 及更高版本中使用。这些表使用SQL Server 的 PolyBase 功能引用其他数据源,例如 Azure blob storage, Hadoop, Oracle,Excel, ODBC, Bigdata, MongoDB and Teradata。
分類
Graphtables
SQL Server 图形数据库使用不同nodes(顶点)和边edges(关系)的集合。
Node表: 有相同類型的集合。比如person Node表包含所有person節點
Edge表: 有相同類型的集合。比如friend表包含了所有person與person之間的所有鏈接Edge.
,