如何更新 SQL 中的所有行?
在 SQL 中,有时会出现更新表中所有行的情况。我们将使用 UPDATE 命令在 SQL 中实现这一点。在本文中,我们将使用微软的 SQL Server 作为我们的数据库。
语法:
不带 WITH 条件从句
UPDATE table_name SET column1 = value1, column2 = value2;
With 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 列,即学生身份、学生姓名、学生标准、英语、数学和物理,包含学生身份、学生姓名、标准和各科成绩。
查询:
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;
输出:
第七步:假设新学年已经开始。所以我们需要将所有行的 STUDENT_STANDARD 增加(更新)1。我们不会在这里使用 WHERE 子句,因为我们必须更新所有的行。然后显示表格。
查询:
UPDATE STUDENT_MARKS SET STUDENT_STANDARD=STUDENT_STANDARD+1;
SELECT * FROM STUDENT_MARKS;
输出:
第八步:学校管理的一些新变化规定只显示学生姓名的前 4 个字母。因此,我们需要将名称更新为仅包含前 4 个字母的子字符串。我们不会在这里使用 WHERE 子句,因为我们必须更新所有的行。然后显示表格。
查询:
UPDATE STUDENT_MARKS SET STUDENT_NAME=SUBSTRING(STUDENT_NAME,1,4);
SELECT * FROM STUDENT_MARKS;
输出:
第九步:假设数学老师想把所有学生的分数都提高 5 分。所以我们需要更新数学列,所以我们将值增加 5。我们不会在这里使用 WHERE 子句,因为我们必须更新所有的行。然后显示表格。
查询:
UPDATE STUDENT_MARKS SET MATHS=MATHS+5;
SELECT * FROM STUDENT_MARKS;
输出:
因此,以上述方式,我们可以使用 update 命令更新表中的所有行。我们不会同时使用 WHERE 子句,因为所有的行都需要更新。
版权属于:月萌API www.moonapi.com,转载请注明出处