T-SQL - 创建表



创建基本表涉及命名表并定义其列和每列的数据类型。

SQL Server 的CREATE TABLE语句用于创建新表。

语法

以下是 CREATE TABLE 语句的基本语法:

CREATE TABLE table_name( 
   column1 datatype, 
   column2 datatype, 
   column3 datatype, 
   ..... 
   columnN datatype, 
   PRIMARY KEY( one or more columns ));

CREATE TABLE 是告诉数据库系统您想要做什么的关键字。在本例中,您想要创建一个新表。表后跟 CREATE TABLE 语句是表的唯一名称或标识符。然后在括号中列出定义表中每一列以及它是什么类型的数据。通过以下示例,语法更容易理解。

可以使用 CREATE TABLE 语句和 SELECT 语句的组合来创建现有表的副本。您可以在“使用另一个表创建表”中查看完整详情。

示例

在此示例中,让我们创建一个 CUSTOMERS 表,其中 ID 为主键,NOT NULL 是约束,表明在创建此表中的记录时这些字段不能为 NULL:

CREATE TABLE CUSTOMERS( 
   ID   INT              NOT NULL, 
   NAME VARCHAR (20)     NOT NULL, 
   AGE  INT              NOT NULL, 
   ADDRESS  CHAR (25) , 
   SALARY   DECIMAL (18, 2),        
   PRIMARY KEY (ID));

您可以通过查看 SQL Server 显示的消息来验证您的表是否已成功创建,否则您可以使用以下命令:

exec sp_columns CUSTOMERS

以上命令产生以下输出。

TABLE_QUALIFIER   TABLE_OWNER   TABLE_NAME   COLUMN_NAME   DATA_TYPE   TYPE_NAME
   PRECISION   LENGTH SCALE   RADIX   NULLABLE   REMARKS   COLUMN_DEF   SQL_DATA_TYPE 
   SQL_DATETIME_SUB   CHAR_OCTET_LENGTH   ORDINAL_POSITION   IS_NULLABLE   SS_DATA_TYPE
   
TestDB    dbo    CUSTOMERS   ID        4    int      10   4    0      10     0
   NULL   NULL   4   NULL    NULL      1    NO       56 
   
TestDB    dbo    CUSTOMERS   NAME      12   varchar  20   20   NULL   NULL   0
   NULL   NULL   12   NULL   20        2    NO       39
  
TestDB    dbo    CUSTOMERS   AGE       4    int      10   4    0      10     0
   NULL   NULL   4   NULL    NULL      3    NO       56 
 
TestDB    dbo    CUSTOMERS   ADDRESS   1    char     25   25   NULL   NULL   1
   NULL   NULL   1   NULL    25   4    YES  39  

TestDB    dbo    CUSTOMERS   SALARY    3    decimal  18   20   2      10     1
   NULL   NULL   3   NULL    NULL      5    YES      106 

您现在可以看到 CUSTOMERS 表已在您的数据库中可用,您可以使用它来存储与客户相关的所需信息。

广告