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

示例

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