在本教學中,將學習如何使用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 NULL
和UNIQUE
。 - 第五,表可能在表約束部分中指定了一些約束,例如:
FOREIGN KEY
,PRIMARY KEY
,UNIQUE
和CHECK
。
請注意,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_name
和last_name
列是VARCHAR
類型的字串列。 這些列最多可以存儲50
個字元。visited_at
是DATETIME
數據類型的列,記錄客戶訪問商店的日期和時間。phone
列是一個接受NULL
的VARCHAR
字串列。store_id
列存儲標識客戶訪問商店的標識號。- 表定義的末尾是
FOREIGN KEY
約束。 此外鍵確保visit
表的store_id
列中的值必須在stores
表的store_id
列中可用。可在後續教程中瞭解有關FOREIGN KEY
約束的更多資訊。
在本教學中,學習了如何使用SQL Server CREATE TABLE
語句在資料庫中創建新表。
上一篇:
SQL Server數據定義
下一篇:
SQL Server修改數據