📄 update.sgml
字号:
<REFENTRY ID="SQL-UPDATE"><REFMETA><REFENTRYTITLE>UPDATE</REFENTRYTITLE><REFMISCINFO>SQL - Language Statements</REFMISCINFO></REFMETA><REFNAMEDIV><REFNAME>UPDATE</REFNAME><REFPURPOSE>Replaces values of columns in a table</REFPURPOSE></refnamediv><REFSYNOPSISDIV><REFSYNOPSISDIVINFO><DATE>1998-09-24</DATE></REFSYNOPSISDIVINFO><SYNOPSIS>UPDATE <REPLACEABLE CLASS="PARAMETER">table</replaceable> SET <REPLACEABLE CLASS="PARAMETER">column</replaceable> = <REPLACEABLE CLASS="PARAMETER">expression</replaceable> [, ...] [ FROM <REPLACEABLE CLASS="PARAMETER">fromlist</REPLACEABLE> ] [ WHERE <REPLACEABLE CLASS="PARAMETER">condition</REPLACEABLE> ]</SYNOPSIS> <REFSECT2 ID="R2-SQL-UPDATE-1"> <REFSECT2INFO> <DATE>1998-09-24</DATE> </REFSECT2INFO> <TITLE> Inputs </TITLE> <PARA> <VARIABLELIST> <VARLISTENTRY> <TERM> <REPLACEABLE CLASS="PARAMETER">table</replaceable> </TERM> <LISTITEM> <PARA> The name of an existing table. </para> </LISTITEM> </VARLISTENTRY> <VARLISTENTRY> <TERM> <REPLACEABLE CLASS="PARAMETER">column</replaceable> </TERM> <LISTITEM> <PARA> The name of a column in <REPLACEABLE CLASS="PARAMETER">table</replaceable>. </para> </LISTITEM> </VARLISTENTRY> <VARLISTENTRY> <TERM> <REPLACEABLE CLASS="PARAMETER">expression</replaceable> </TERM> <LISTITEM> <PARA> A valid expression or value to assign to column. </para> </LISTITEM> </VARLISTENTRY> <VARLISTENTRY> <TERM> <REPLACEABLE CLASS="PARAMETER">fromlist</REPLACEABLE> </TERM> <LISTITEM> <PARA> A <productname>Postgres</productname> non-standard extension to allow columns from other tables to appear in the WHERE condition. </para> </LISTITEM> </VARLISTENTRY> <VARLISTENTRY> <TERM> <REPLACEABLE CLASS="PARAMETER">condition</REPLACEABLE> </TERM> <LISTITEM> <PARA> Refer to the SELECT statement for a further description of the WHERE clause. </para> </LISTITEM> </VARLISTENTRY> </VARIABLELIST> </para> </REFSECT2> <REFSECT2 ID="R2-SQL-UPDATE-2"> <REFSECT2INFO> <DATE>1998-09-24</DATE> </REFSECT2INFO> <TITLE> Outputs </TITLE> <PARA> <VARIABLELIST> <VARLISTENTRY> <TERM> UPDATE <replaceable class="parameter">#</replaceable> </TERM> <LISTITEM> <PARA> Message returned if successful. The <replaceable class="parameter">#</replaceable> means the number of rows updated. If <replaceable class="parameter">#</replaceable> is equal 0 no rows are updated. </para> </LISTITEM> </VARLISTENTRY> </VARIABLELIST> </para> </REFSECT2> </REFSYNOPSISDIV> <REFSECT1 ID="R1-SQL-UPDATE-1"> <REFSECT1INFO> <DATE>1998-09-24</DATE> </REFSECT1INFO> <TITLE> Description </TITLE> <PARA> UPDATE changes the values of the columns specified for all rows which satisfy condition. Only the columns to be modified need appear as column. </para> <PARA> Array references use the same syntax found in SELECT. That is, either single array elements, a range of array elements or the entire array may be replaced with a single query. </para> <PARA> You must have write access to the table in order to modify it, as well as read access to any table whose values are mentioned in the WHERE condition. </para> </REFSECT1> <REFSECT1 ID="R1-SQL-UPDATE-2"> <TITLE> Usage </TITLE> <PARA> </PARA> <ProgramListing> --Change word "Drama" with "Dramatic" on column kind: -- UPDATE films SET kind = 'Dramatic' WHERE kind = 'Drama'; SELECT * FROM films WHERE kind = 'Dramatic' OR kind = 'Drama'; code |title |did| date_prod|kind |len -----+-------------+---+----------+----------+------ BL101|The Third Man|101|1949-12-23|Dramatic | 01:44 P_302|Becket |103|1964-02-03|Dramatic | 02:28 M_401|War and Peace|104|1967-02-12|Dramatic | 05:57 T_601|Yojimbo |106|1961-06-16|Dramatic | 01:50 DA101|Das Boot |110|1981-11-11|Dramatic | 02:29 </ProgramListing> </REFSECT1> <REFSECT1 ID="R1-SQL-UPDATE-3"> <TITLE> Compatibility </TITLE> <PARA> </PARA> <REFSECT2 ID="R2-SQL-UPDATE-4"> <REFSECT2INFO> <DATE>1998-09-24</DATE> </REFSECT2INFO> <TITLE> SQL92 </TITLE> <PARA> SQL92 defines a different syntax for positioned UPDATE statement: <programlisting> UPDATE table SET column = expression [, ...] WHERE CURRENT OF <replaceable class="parameter">cursor</replaceable> </programlisting> where <replaceable class="parameter">cursor</replaceable> identifies an open cursor. </para> </refsect2> </refsect1></REFENTRY>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -