如何更新 SQL 中的所有行?
在 SQL 中,有时会出现更新表的所有行的情况。我们将在 SQL 中使用 UPDATE 命令来实现这一点。对于本文,我们将使用 Microsoft SQL Server 作为我们的数据库。
句法:
不带 WITH 条件子句
UPDATE table_name SET column1 = value1, column2 = value2;
带 WITH 条件子句
UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE condition;
第 1 步:创建数据库。为此,请使用以下命令创建一个名为 GeeksForGeeks 的数据库。
询问:
CREATE DATABASE GeeksForGeeks
输出:
第 2 步:使用 GeeksForGeeks 数据库。为此,请使用以下命令。
询问:
USE GeeksForGeeks
输出:
第 3 步:在 GeeksForGeeks 数据库中创建一个表 STUDENT_MARKS。该表有 4 列,即 STUDENT_ID、STUDENT_NAME、STUDENT_STANDARD、ENGLISH、MATHS 和 PHYSICS,分别包含学生 ID、学生姓名、标准和各个科目的分数。
询问:
CREATE TABLE STUDENT_MARKS(
STUDENT_ID INT,
STUDENT_NAME VARCHAR(20),
STUDENT_STANDARD INT,
ENGLISH INT,
MATHS INT,
PHYSICS INT);
输出:
第 4 步:在 MARKS 表中插入 5 行。
询问:
INSERT INTO STUDENT_MARKS VALUES(121,'ABHIGYAN SHARMA',5,90,85,80);
INSERT INTO STUDENT_MARKS VALUES(133,'RUTURAJ GAIKWAD',5,76,66,91);
INSERT INTO STUDENT_MARKS VALUES(146,'AJAY KUMAR',5,87,79,90);
INSERT INTO STUDENT_MARKS VALUES(151,'RAVI GUPTA',6,91,51,67);
INSERT INTO STUDENT_MARKS VALUES(160,'YUVI CHAHAL',6,79,92,82);
输出:
第 5 步:显示 MARKS 表的所有行,包括 0(零)值。
询问:
SELECT * FROM STUDENT_MARKS;
输出:
第 7 步:假设新学年已经开始。所以我们需要将所有行的 STUDENT_STANDARD 增加(更新)1。我们不会在这里使用 WHERE 子句,因为我们必须更新所有行。然后显示表格。
询问:
UPDATE STUDENT_MARKS SET STUDENT_STANDARD=STUDENT_STANDARD+1;
SELECT * FROM STUDENT_MARKS;
输出:
第 8 步:学校行政部门的一些新变化规定只显示学生姓名的前 4 个字母。因此,我们需要将名称更新为其仅包含前 4 个字母的子字符串。我们不会在这里使用 WHERE 子句,因为我们必须更新所有行。然后显示表格。
询问:
UPDATE STUDENT_MARKS SET STUDENT_NAME=SUBSTRING(STUDENT_NAME,1,4);
SELECT * FROM STUDENT_MARKS;
输出:
步骤 9:假设数学老师想要将所有学生的分数增加 5。所以我们需要 UPDATE MATHS 列,因此我们将值增加 5。我们不会在这里使用 WHERE 子句,因为我们必须更新所有行。然后显示表格。
询问:
UPDATE STUDENT_MARKS SET MATHS=MATHS+5;
SELECT * FROM STUDENT_MARKS;
输出:
因此,通过上述方式,我们可以使用 UPDATE 命令更新表的所有行。我们不会同时使用 WHERE 子句,因为所有行都需要更新。