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(关系)的集合。

sqlserver数据库和表的概念(SQLserver-SQL表的类型)(1)

Node表: 有相同類型的集合。比如person Node表包含所有person節點

Edge表: 有相同類型的集合。比如friend表包含了所有person與person之間的所有鏈接Edge.

sqlserver数据库和表的概念(SQLserver-SQL表的类型)(2)

,