SQL扩展之T-SQL中的数据定义语言(续)

    数据库表操作语句

  1,使用DDL创建表, 语法格式如下:

CREATE TABLE  [ database_name . [ schema_name ] . |     schema_name . ] table_name 
 ( 
   {  <column_definition>
 | column_name AS computed_column_expression [PERSISTED [NOT NULL]] 
     }
     [ <table_constraint> ] [ ,...n ]
   ) 
[ ON { partition_scheme_name ( partition_column_name ) | filegroup | "default" } ] 
      [ { TEXTIMAGE_ON { filegroup | "default" } ] 
      [ FILESTREAM_ON { partition_scheme_name | filegroup | "default" } ]
       [ WITH ( <table_option> [ ,...n ] ) ]
       [ ; ]
 <column_definition> ::=
 column_name data_type
          [ FILESTREAM ]
          [ COLLATE collation_name ] 
          [ NULL | NOT NULL ]
          [ 
               [ CONSTRAINT constraint_name ]
               DEFAULT constant_expression ] 
             |[ IDENTITY [ ( seed ,increment ) ] [ NOT FOR REPLICATION ]
          ]
          [ ROWGUIDCOL ]
	 [ <column_constraint> [ ...n ]] 
  	         [ SPARSE ]
    说明:

1)database_name是数据库名,schema_name是表所属架构名,table_name是表名。如果省略数据库名则默认在当前数据库中创建表,如果省略架构名,则默认是“dbo”。
(2)<column_definition> 列定义:
 ● column_name 为列名,data_type为列的数据类型。
 ● FILESTREAM是SQL Server 2008引进的一项新特性,允许以独立文件的形式存放大对象数据。
 ● NULL | NOT NULL:确定列是否可取空值。
 ● DEFAULT constant_expression:为所在列指定默认值。
 ● IDENTITY:表示该列是标识符列。
 ● ROWGUIDCOL:表示新列是行的全局唯一标识符列。
 ● <column_constraint>:列的完整性约束,指定主键、外键等。
 ● SPARSE:指定列为稀疏列。
(3)column_name AS computed_column_expression [PERSISTED [NOT NULL]]:用于定义计算字段。
(4)<table_constraint>:表的完整性约束。
(5)ON 子句:filegroup | "default"指定存储表的文件组。
(6)TEXTIMAGE_ON {filegroup | "default"}:TEXTIMAGE_ON指定存储text、ntext、image、xml、varchar(MAX)、nvarchar(MAX)、varbinary(MAX)和CLR用户定义类型数据的文件组。
(7)FILESTREAM_ON子句:filegroup | "default"指定存储FILESTREAM数据的文件组。

        例:T-SQL语句在stsc数据库中创建student表。

 USE stsc
   CREATE TABLE student 
   ( 
          stno char(4) NOT NULL PRIMARY KEY,
          stname char(8) NOT NULL,
          stsex char(2) NOT NULL,
          stbirthday date NOT NULL,
          specialist char(12) NULL,
          tc int NULL
    )
    GO
     2,由其他表创建新表

    用户使用SELECT INTO 语句创建一个新表,并用SELECT 的结果集填充该表,其语法格式如下:

SELECT 列名表 INTO 表1 FROM 表2

    该语句的功能是由“表2”的“列名表”来创建新表“表1

例如:在stsc数据库中,由student表创建student1。

USE stsc
SELECT stno,stname,stbirthday INTO student1
FROM student
    3,  使用DDL修改表

   修改表的结构使用ALTER TABLE 语句,其语法格式如下:

ALTER TABLE table_name
{
ALTER COLUMN column_name 
	{ 
              new_data_type [ (precision,[,scale])] [NULL | NOT NULL]
	      | {ADD | DROP } { ROWGUIDCOL | PERSISTED | NOT FOR                                                                 REPLICATION | SPARSE }
          }/
	 | ADD {[<colume_definition>]}[,…n]
	 | DROP {[CONSTRAINT] constraint_name | COLUMN column}[,…n]
 }
     说明:

●  table_name为表名。
●  ALTER COLUMN子句:修改表中指定列的属性。
●  ADD子句:增加表中的列。
●  DROP子句:删除表中的列或约束。
        例如:在student1表中新增一列remarks:

USE stsc
 ALTER TABLE student1 ADD remarks char(10) 
      4,使用DDL删除表

    删除表使用DROP TABLE 语言,其语法格式如下:

 DROP TABLE table_name 
    其中,table_name是要删除的表的名称。

   例如: 删除stsc 数据库中的student1表

USE stsc
  DROP TABLE student1

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值