Bài viết này liệt kê UPDATE
của SQL cú pháp, như được thực hiện bởi các hệ thống quản lý cơ sở dữ liệu khác nhau (DBMS). Cú pháp được liệt kê chính xác như mỗi nhà cung cấp đã liệt kê nó trên trang web của họ. Nhấp vào liên kết hiện hành để xem thêm chi tiết về cú pháp cho một nhà cung cấp cụ thể.
Các DBMS được đề cập là MySQL, SQL Server, PostgreSQL và Cơ sở dữ liệu Oracle.
MySQL
Từ Hướng dẫn tham khảo MySQL 5.7.
Cú pháp một bảng:
UPDATE [LOW_PRIORITY] [IGNORE]table_reference
SETcol_name1
={expr1
|DEFAULT} [,col_name2
={expr2
|DEFAULT}] ... [WHEREwhere_condition
] [ORDER BY ...] [LIMITrow_count
]
Cú pháp nhiều bảng:
UPDATE [LOW_PRIORITY] [IGNORE]table_references
SETcol_name1
={expr1
|DEFAULT} [,col_name2
={expr2
|DEFAULT}] ... [WHEREwhere_condition
]
Máy chủ SQL
Từ Tham chiếu Transact-SQL:
[ WITH <common_table_expression> [...n] ] UPDATE [ TOP ( expression ) [ PERCENT ] ] { { table_alias | <object> | rowset_function_limited [ WITH ( <Table_Hint_Limited> [ ...n ] ) ] } | @table_variable } SET { column_name = { expression | DEFAULT | NULL } | { udt_column_name.{ { property_name = expression | field_name = expression } | method_name ( argument [ ,...n ] ) } } | column_name { .WRITE ( expression , @Offset , @Length ) } | @variable = expression | @variable = column = expression | column_name { += | -= | *= | /= | %= | &= | ^= | |= } expression | @variable { += | -= | *= | /= | %= | &= | ^= | |= } expression | @variable = column { += | -= | *= | /= | %= | &= | ^= | |= } expression } [ ,...n ] [ <OUTPUT Clause> ] [ FROM{ <table_source> } [ ,...n ] ] [ WHERE { <search_condition> | { [ CURRENT OF { { [ GLOBAL ] cursor_name } | cursor_variable_name } ] } } ] [ OPTION ( <query_hint> [ ,...n ] ) ] [ ; ] <object> ::= { [ server_name . database_name . schema_name . | database_name .[ schema_name ] . | schema_name . ] table_or_view_name}
PostgreSQL
Từ Hướng dẫn sử dụng PostgreSQL 9.5:
[ WITH [ RECURSIVE ] with_query [, ...] ] UPDATE [ ONLY ] table_name [ * ] [ [ AS ] alias ] SET { column_name = { expression | DEFAULT } | ( column_name [, ...] ) = ( { expression | DEFAULT } [, ...] ) | ( column_name [, ...] ) = ( sub-SELECT ) } [, ...] [ FROM from_list ] [ WHERE condition | WHERE CURRENT OF cursor_name ] [ RETURNING * | output_expression [ [ AS ] output_name ] [, ...] ]
Cơ sở dữ liệu Oracle
Từ Tài liệu Trực tuyến Cơ sở dữ liệu Oracle 12 c Bản phát hành 1 (12.1):
UPDATE [ hint ] { dml_table_expression_clause | ONLY (dml_table_expression_clause) } [ t_alias ] update_set_clause [ where_clause ] [ returning_clause ] [error_logging_clause] ;
DML_table_expression_clause ::=
{ [ schema. ] { table [ partition_extension_clause | @ dblink ] | { view | materialized view } [ @ dblink ] } | ( subquery [ subquery_restriction_clause ] ) | table_collection_expression }
partition_extension_clause ::=
{ PARTITION (partition) | PARTITION FOR (partition_key_value [, partition_key_value]...) | SUBPARTITION (subpartition) | SUBPARTITION FOR (subpartition_key_value [, subpartition_key_value]...) }
subquery_restrict_clause ::=
WITH { READ ONLY | CHECK OPTION } [ CONSTRAINT constraint ]
table_collection_expression ::=
TABLE (collection_expression) [ (+) ]
update_set_clause ::=
SET { { (column [, column ]...) = (subquery) | column = { expr | (subquery) | DEFAULT } } [, { (column [, column]...) = (subquery) | column = { expr | (subquery) | DEFAULT } } ]... | VALUE (t_alias) = { expr | (subquery) } }
where_clause ::=
WHERE condition
return_clause ::=
{ RETURN | RETURNING } expr [, expr ]... INTO data_item [, data_item ]...
error_logging_clause ::=
LOG ERRORS [ INTO [schema.] table ] [ (simple_expression) ] [ REJECT LIMIT { integer | UNLIMITED } ]
Giới thiệu về UPDATE
Tuyên bố
CẬP NHẬT câu lệnh thay đổi giá trị của các cột được chỉ định trong tất cả các hàng thỏa mãn điều kiện. Chỉ các cột được sửa đổi mới cần được đưa vào SET mệnh đề; các cột không được sửa đổi rõ ràng vẫn giữ nguyên các giá trị trước đó của chúng.