T-SQL - 创建表

  • 简述

    创建基本表涉及命名表并定义其列和每列的数据类型。
    SQL 服务器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 语句的组合来创建现有表的副本。您可以在使用另一个表创建表中查看完整的详细信息。
  • 例子

    在此示例中,让我们创建一个以 ID 作为主键的 CUSTOMERS 表,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 服务器显示的消息来验证您的表是否已成功创建,否则您可以使用以下命令 -
    
    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 表在您的数据库中可用,您可以使用它来存储与客户相关的所需信息。