SQL Server創建表

在本教學中,將學習如何使用SQL Server CREATE TABLE語句來創建新表。

CREATE TABLE語句簡介

表用於在資料庫中存儲數據。 表在資料庫和模式中唯一命名。 每個表包含一個或多個列。 每列都有一個相關的數據類型,用於定義它可以存儲的數據類型,例如:數字,字串和日期。

要創建新表,請使用CREATE TABLE語句,如下所示:

CREATE TABLE [database_name.][schema_name.]table_name (
    pk_column data_type PRIMARY KEY,
    column_1 data_type NOT NULL,
    column_2 data_type,
    ...,
    table_constraints
);

在上面的語法中,

  • 首先,指定創建表的資料庫的名稱。 database_name必須是現有資料庫的名稱。 如果未指定,則database_name默認為當前資料庫。
  • 其次,schema_name指定新表所屬的模式。
  • 第三,table_name指定新表的名稱。
  • 第四,每個表應該有一個由一列或多列組成的主鍵。 通常,首先列出主鍵列,然後列出其他列。 如果主鍵只包含一列,則可以在列名後使用PRIMARY KEY關鍵字。 如果主鍵由兩列或更多列組成,則需要將PRIMARY KEY約束指定為表約束。 每個列都在語句中的名稱後面指定了關聯的數據類型。 列可能具有一個或多個列約束,例如:NOT NULLUNIQUE
  • 第五,表可能在表約束部分中指定了一些約束,例如:FOREIGN KEYPRIMARY KEYUNIQUECHECK

請注意,CREATE TABLE可以很複雜,並且具有比上述語法更多的選項。 我們將在後續教程中逐步的介紹每個選項。

SQL Server CREATE TABLE示例

以下語句創建一個名為visits的新表來跟蹤客戶的店內訪問:

CREATE TABLE sales.visits (
    visit_id INT PRIMARY KEY IDENTITY (1, 1),
    first_name VARCHAR (50) NOT NULL,
    last_name VARCHAR (50) NOT NULL,
    visited_at DATETIME,
    phone VARCHAR(20),
    store_id INT NOT NULL,
    FOREIGN KEY (store_id) REFERENCES sales.stores (store_id)
);

在這個示例中:

因為沒有明確指定創建表的資料庫名稱,所以在bb_stores資料庫中創建了visits表。 但是已經明確指定模式,因此,在sales模式中創建了visits表。

visits表中定義了6列,下麵來看每一列的簡介描述:

  • visit_id列是表的主鍵列。 IDENTITY(1,1)指示SQL Server自動生成從1開始的列的整數,並為每個新行遞增1
  • first_namelast_name列是VARCHAR類型的字串列。 這些列最多可以存儲50個字元。
  • visited_atDATETIME數據類型的列,記錄客戶訪問商店的日期和時間。
  • phone列是一個接受NULLVARCHAR字串列。
  • store_id列存儲標識客戶訪問商店的標識號。
  • 表定義的末尾是FOREIGN KEY約束。 此外鍵確保visit表的store_id列中的值必須在stores表的store_id列中可用。可在後續教程中瞭解有關FOREIGN KEY約束的更多資訊。

在本教學中,學習了如何使用SQL Server CREATE TABLE語句在資料庫中創建新表。


上一篇: SQL Server數據定義 下一篇: SQL Server修改數據