SQL学习笔记——表数据的删除与更新

在 T-SQL 语言中,删除数据可以使用 DELETE 语句来实现。

使用 DELETE 语句删除数据

语法格式

DELETE [ TOP ( expression ) [ PERCENT ] ]  
 [FROM] table_or_view_name    /*从表或视图名*/  
[ WHERE <search_condition>]       /*指定条件*/ 
[;] 

参数说明

TOP ( expression ) [ PERCENT ]:指定将要删除的任意行数或任意行的百分比。 expression可以为行数或行的百分比。

FROM:可选的关键字,可用在 DELETE 关键字与目标 table_or_view_name 之间。
table_or view_name:要从其中删除行的表或视图的名称。

WHERE:指定用于限制删除行数的条件。如果没有提供 WHERE 子句,则 DELETE 删除表中的所有行。
<search_condition> :指定删除行的限定条件。对搜索条件中可以包含的谓词数量没 有限制。例如,column_name= value。

代码示例
在DB数据库中,向学生表中添加一条数据,然后用delete结合条件语句删除
–向学生表中添加一条数据,然后删除该数据

use DB001
go
insert into Student
values('09' , '吴亦凡' , '1990-01-01' , '男','歌手');
go

--查看输入插入后的表格
select * from Student

--删除吴亦凡这一记录
use DB001
go
delete from Student
where SID='09'

--查看输入删除后的表格
select * from Student

在 T-SQL 中,UPDATE 语句可以用来修改表中的数据行。
语法格式

UPDATE [ TOP ( expression ) [ PERCENT ] ] 
 table_or_view_name        /*表或视图*/ 
SET                  /*赋予新值*/ 
{  
	column_name = { expression | DEFAULT | NULL } /*为列重新指定值*/  
        | @variable = expression            /*指定变量的新值*/  
        | @variable = column = expression      /*指定列和变量的新值*/
} [,…n]  
[ WHERE <search_condition> ] 
[;] 

参数说明

TOP (expression ) [ PERCENT ]:指定将要更新的行数或行百分比。expression 可以 为行数或行百分比。

table_or view_name:要更新行的表或视图的名称。

SET:指定要更新的列或变量名称的列表。

column_name:包含要更改的数据的列。column_name 必须已存在于 table_or view_name中。不能更新标识列。

expression:返回单个值的变量、文字值、表达式或嵌套select 语句(加括号) 。expression 返回的值替换column_name 或@variable 中的现有值。

DEFAULT:指定用为列定义的默认值替换列中的现有值。如果该列没有默认值并且 定义为允许空值,则该参数也可用于将列更改为 NULL。

@variable:已声明的变量,该变量将设置为 expression 所返回的值。

SET @variable = column = expression:将变量设置为与列相同的值。这与 SET @variable =column, column = expression 不同,后者将变量设置为列更新前的值。

WHERE:指定条件来限定所更新的行。

<search_condition>:为要更新的行指定需满足的条件。搜索条件也可以是联接所基于的条件。对搜索条件中可以包含的谓词数量没有限制。

代码示例
基于数据库DB001,更新Student表SID为‘01’学生的remark字段内容

--更新表格
update Student
set remark='民谣歌手'
where SID ='01'

--查看输入更新后的表格
select * from Student

心得:
1、删除表中的数据,delete后面不能跟具体的列字段名,如果要删除某列可以用where条件约束匹配
2、delete from 后面跟着的是表格
3、SQL还提供了:使用 TRUNCATE TABLE 语句将删除指定表中的所有数据,因此也称其为清除表数据语句。TRUNCATE TABLE 在功能上与没有 WHERE 子句的 DELETE 语句相同;但是, TRUNCATE TABLE 速度更快,使用的系统资源和事务日志资源更少。如果表包含标识列, 该列的计数器重置为该列定义的种子值。如果未定义种子,则使用默认值 1。若要保留标识 计数器,请使用 DELETE

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

闲小憨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值