亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

關于在SQL中,ALTER TABLE的語法結構的問題,麻煩哪位大哥,給個標準的定義?

關于在SQL中,ALTER TABLE的語法結構的問題,麻煩哪位大哥,給個標準的定義?

C++ C
catspeake 2021-11-19 11:11:36
我看的書上給出的格式是這樣的:ALTER TABLE <表名>[ALTER COLUMN <列名> <新數據類型>]|[ADD <列名> <數據類型> [屬性]|[DROP COLUMN <列名>]|[ADD [constraint] [約束名] 約束定義|[DROP [constraint] 約束名]我就發現,有的括號都不匹配,肯定有問題,麻煩哪位大哥,給個標準的定義。
查看完整描述

2 回答

?
滄海一幻覺

TA貢獻1824條經驗 獲得超5個贊

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 )
}



查看完整回答
反對 回復 2021-11-24
?
慕慕森

TA貢獻1856條經驗 獲得超17個贊

在表格被建立在資料庫中后,我們常常會發現,這個表格的結構需要有所改變。常見的改變如下:
? 加一個欄位
? 刪去一個欄位
? 改變欄位名稱
? 改變欄位的資料種類
以上列出的改變并不是所有可能的改變。ALTER TABLE 也可以被用來作其他的改變,例如改變主鍵定義。ALTER TABLE 的語法如下:
ALTER TABLE "table_name" [改變方式]
[改變方式] 的詳細寫法會依我們想要達到的目標而有所不同。再以上列出的改變中,[改變方式] 如下:
? 加一個欄位: ADD "欄位 1" "欄位 1 資料種類"
? 刪去一個欄位: DROP "欄位 1"
? 改變欄位名稱: CHANGE "原本欄位名" "新欄位名" "新欄位名資料種類"
? 改變欄位的資料種類: MODIFY "欄位 1" "新資料種類"

例如,往表中加入一列:
ALTER table customer add Gender char(1)
下面是把表中列Address改為Addr
ALTER table customer change Address Addr char(50)
下面是把上面那個Addr的類型變為char(30)
ALTER table customer modify Addr char(30)
這是刪除一列
ALTER table customer drop Gender



查看完整回答
反對 回復 2021-11-24
  • 2 回答
  • 0 關注
  • 374 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號