关于在SQL中,ALTER TABLE的语法结构的问题,麻烦哪位大哥,给个标准的定义?

我看的书上给出的格式是这样的:
ALTER TABLE <表名>
[ALTER COLUMN <列名> <新数据类型>]
|[ADD <列名> <数据类型> [属性]
|[DROP COLUMN <列名>]
|[ADD [constraint] [约束名] 约束定义
|[DROP [constraint] 约束名]
我就发现,有的括号都不匹配,肯定有问题,麻烦哪位大哥,给个标准的定义。

catspeake
浏览 292回答 2
2回答

沧海一幻觉

ALTER TABLE table{ [ ALTER COLUMN column_name{ new_data_type [ ( precision [ , scale ] ) ][ COLLATE < collation_name > ][ NULL | NOT NULL ]| {ADD | DROP } ROWGUIDCOL }]| ADD{ [ < column_definition > ]| column_name AS computed_column_expression} [ ,...n ]| [ WITH CHECK | WITH NOCHECK ] ADD{ < table_constraint > } [ ,...n ]| DROP{ [ CONSTRAINT ] constraint_name| COLUMN column } [ ,...n ]| { CHECK | NOCHECK } CONSTRAINT{ ALL | constraint_name [ ,...n ] }| { ENABLE | DISABLE } TRIGGER{ ALL | trigger_name [ ,...n ] }}< column_definition > ::={ column_name data_type }[ [ DEFAULT constant_expression ] [ WITH VALUES ]| [ IDENTITY [ ( seed , increment ) [ NOT FOR REPLICATION ] ] ]][ ROWGUIDCOL ][ COLLATE < collation_name > ][ < column_constraint > ] [ ...n ]< column_constraint > ::=[ CONSTRAINT constraint_name ]{ [ NULL | NOT NULL ]| [ { PRIMARY KEY | UNIQUE }[ CLUSTERED | NONCLUSTERED ][ WITH FILLFACTOR = fillfactor ][ ON { filegroup | DEFAULT } ]]| [ [ FOREIGN KEY ]REFERENCES ref_table [ ( ref_column ) ][ ON DELETE { CASCADE | NO ACTION } ][ ON UPDATE { CASCADE | NO ACTION } ][ NOT FOR REPLICATION ]]| CHECK [ NOT FOR REPLICATION ]( logical_expression )}< table_constraint > ::=[ CONSTRAINT constraint_name ]{ [ { PRIMARY KEY | UNIQUE }[ CLUSTERED | NONCLUSTERED ]{ ( column [ ,...n ] ) }[ WITH FILLFACTOR = fillfactor ][ ON { filegroup | DEFAULT } ]]| FOREIGN KEY[ ( column [ ,...n ] ) ]REFERENCES ref_table [ ( ref_column [ ,...n ] ) ][ ON DELETE { CASCADE | NO ACTION } ][ ON UPDATE { CASCADE | NO ACTION } ][ NOT FOR REPLICATION ]| DEFAULT constant_expression[ FOR column ] [ WITH VALUES ]| CHECK [ NOT FOR REPLICATION ]( search_conditions )}

慕慕森

在表格被建立在资料库中后,我们常常会发现,这个表格的结构需要有所改变。常见的改变如下:• 加一个栏位• 删去一个栏位• 改变栏位名称• 改变栏位的资料种类以上列出的改变并不是所有可能的改变。ALTER TABLE 也可以被用来作其他的改变,例如改变主键定义。ALTER TABLE 的语法如下:ALTER TABLE "table_name" [改变方式][改变方式] 的详细写法会依我们想要达到的目标而有所不同。再以上列出的改变中,[改变方式] 如下:• 加一个栏位: ADD "栏位 1" "栏位 1 资料种类"• 删去一个栏位: DROP "栏位 1"• 改变栏位名称: CHANGE "原本栏位名" "新栏位名" "新栏位名资料种类"• 改变栏位的资料种类: MODIFY "栏位 1" "新资料种类"例如,往表中加入一列:ALTER table customer add Gender char(1)下面是把表中列Address改为AddrALTER table customer change Address Addr char(50)下面是把上面那个Addr的类型变为char(30)ALTER table customer modify Addr char(30)这是删除一列ALTER table customer drop Gender
打开App,查看更多内容
随时随地看视频慕课网APP