SQL UPDATE查询
SQL UPDATE语句
SQL UPDATE 语句用于修改表中的现有记录。该语句是数据操作语言(DML)的一部分,因为它只修改表中存在的数据而不影响表的结构。
为了筛选出需要修改的记录,您可以在UPDATE语句中使用WHERE子句。使用WHERE子句,可以更新单个行或多个行。
由于它只与表的数据进行交互,因此SQL UPDATE语句需要谨慎使用。如果未正确选择要修改的行,则表中的所有行都将受到影响,正确的表数据将丢失或需要重新插入。
SQL UPDATE语句在修改表中的每一行时会使用锁定,一旦行被修改,锁定就会释放。因此,它可以使用单个查询对单个行或多个行进行更改。
语法
带有WHERE子句的SQL UPDATE语句的基本语法如下:
您可以使用AND或OR运算符组合任意数量的条件。
示例
假设我们使用如下的CREATE TABLE语句创建了一个名为 CUSTOMERS 的表-
现在,使用INSERT语句将值插入到这个表中,如下所示−
表格将被创建为 –
ID | NAME | AGE | ADDRESS | SALARY |
---|---|---|---|---|
1 | Ramesh | 32 | Ahmedabad | 2000.00 |
2 | Khilan | 25 | Delhi | 1500.00 |
3 | kaushik | 23 | Kota | 2000.00 |
4 | Chaitali | 25 | Mumbai | 6500.00 |
5 | Hardik | 27 | Bhopal | 8500.00 |
6 | Komal | 22 | Hyderabad | 4500.00 |
7 | Muffy | 24 | Indore | 10000.00 |
以下查询将更新表中ID号为6的客户的地址。
输出
查询产生以下输出 –
验证
要验证表的记录是否被修改,请使用以下的SELECT查询语句 −
现在,CUSTOMERS表将包含以下记录:
ID | NAME | AGE | ADDRESS | SALARY |
---|---|---|---|---|
6 | Komal | 22 | Pune | 4500.00 |
更新多行和多列
使用SQL UPDATE语句也可以更新表中的多行和多列。要更新多行,可以在WHERE子句中指定条件,以使只有满足条件的行才会被更新。
然而,要更新多列,需要将新值设置为需要更新的所有列。在这种情况下,使用WHERE子句会限制表中的记录,不使用该子句会更改这些列中的所有值。
语法
以下是更新多行和多列的语法:
示例
如果您想修改CUSTOMERS表中的所有AGE和SALARY列的值,就不需要使用WHERE子句,因为UPDATE查询已经足够了。下面的查询将所有客户的年龄增加5岁,并将3000添加到所有薪水值中-
输出
查询生成以下输出 –
验证
为了验证表的记录是否已被修改,请使用下面的SELECT查询语句 –
现在,CUSTOMERS表将包含以下记录−
ID | NAME | AGE | ADDRESS | SALARY |
---|---|---|---|---|
1 | Ramesh | 37 | Ahmedabad | 5000.00 |
2 | Khilan | 30 | Delhi | 4500.00 |
3 | kaushik | 28 | Kota | 5000.00 |
4 | Chaitali | 30 | Mumbai | 9500.00 |
5 | Hardik | 32 | Bhopal | 11500.00 |
6 | Komal | 27 | Pune | 7500.00 |
7 | Muffy | 29 | Indore | 13000.00 |
示例
但是,如果您想要修改CUSTOMERS表中所选记录的ADDRESS和SALARY列,您需要使用WHERE子句指定一个条件来过滤要修改的记录,如下所示:
输出
这个查询会产生以下的输出-
验证
要验证表的记录是否已修改,请使用以下SELECT查询:
现在,CUSTOMERS表将有以下记录 –
ID | NAME | AGE | ADDRESS | SALARY |
---|---|---|---|---|
1 | Ramesh | 37 | Pune | 1000.00 |