USE test_wyy_db_guet Go SET NOCOUNT ON -- ********** Begin ********** -- ---------- 第一题---------- -- ********** End ********** -- GO -- ********** Begin ********** -- ---------- 第二题---------- -- ********** End ********** -- GO -- ********** Begin ********** -- ---------- 第三题---------- -- ********** End ********** -- GO -- **********下面的语句请不要修改 ********** -- select * from student GO
时间: 2025-06-13 18:58:37 浏览: 16
### SQL代码补全任务
以下是针对用户问题的完整SQL代码实现:
#### 1. 将Student表中所有学生的年龄加1
通过`UPDATE`语句将`Sage`字段更新为当前值加1:
```sql
UPDATE Student
SET Sage = Sage + 1;
```
此语句会将`Student`表中所有学生的年龄增加1岁[^2]。
#### 2. 将IS系的学生所属系改为TS
使用`UPDATE`语句将`Sdept`字段从`IS`更改为`TS`:
```sql
UPDATE Student
SET Sdept = 'TS'
WHERE Sdept = 'IS';
```
此语句仅影响`Sdept`字段等于`IS`的记录,并将其更改为`TS`[^3]。
#### 3. 使用`RIGHT`或`SUBSTRING`函数将MA系学生的学号前两位改为08
为了修改`MA`系学生的学号前缀,可以结合字符串函数`CONCAT`和`RIGHT`来实现:
```sql
UPDATE Student
SET Sno = CONCAT('08', RIGHT(Sno, LENGTH(Sno) - 2))
WHERE Sdept = 'MA';
```
- `RIGHT(Sno, LENGTH(Sno) - 2)`:提取学号除前两位以外的部分。
- `CONCAT('08', ...)`:将新的前缀`08`与剩余部分拼接。
- `WHERE Sdept = 'MA'`:确保仅更新`MA`系的学生记录[^4]。
---
### 示例代码总结
以下是一个完整的SQL脚本,包含上述三个功能的实现:
```sql
-- 增加所有学生的年龄
UPDATE Student
SET Sage = Sage + 1;
-- 将IS系改名为TS
UPDATE Student
SET Sdept = 'TS'
WHERE Sdept = 'IS';
-- 修改MA系学生的学号前缀为08
UPDATE Student
SET Sno = CONCAT('08', RIGHT(Sno, LENGTH(Sno) - 2))
WHERE Sdept = 'MA';
```
---
### 注意事项
- 在执行批量更新操作时,建议先使用`SELECT`语句验证条件是否正确。例如,在更新MA系学生学号前,可以运行以下查询以确认目标记录:
```sql
SELECT * FROM Student WHERE Sdept = 'MA';
```
- 如果需要动态生成SQL语句,建议优先使用参数化查询以避免SQL注入风险[^1]。
---
###
阅读全文
相关推荐















