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 语句的组合来创建现有表的副本。您可以在使用另一个表创建表中查看完整的详细信息。

例子

在此示例中,让我们创建一个以 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 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 表,您可以使用它来存储与客户相关的所需信息。