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 表在您的数据库中可用,您可以使用它来存储与客户相关的所需信息。