×

sql update语句 date upd

SQL 用update语句一次更新多个字段应该怎么写?sql update 语句

admin admin 发表于2022-07-23 15:21:32 浏览152 评论0

抢沙发发表评论

SQL 用update语句一次更新多个字段应该怎么写SQL 用update语句一次更新多个字段语句格式如下:UPDATE 表名 SET 列名1=值,列名2=值2,... 多个字段时可以用逗号隔开,MYSQL数据库的SQL语句可以使用LIMIT1来指定(DELETE或者UPDATE)只操作前面的第一条数据,或者不能使用LIMIT1指定只更新一条记录,INFORMIX等数据库为每一条记录都增加了一个隐藏不可以删除和修改的字段--ROWID,利用这个字段可以指定处理某一条记录,可以指定RECNO()值进行处理指定的记录,其后的WHERE 条件语句可以用也可以不用扩展资料:update用途:更新表中原有数据单独使用,更新字段值。

SQL 用update语句一次更新多个字段应该怎么写

SQL 用update语句一次更新多个字段语句格式如下:

UPDATE 表名 SET 列名1=值,列名2=值2,... 

多个字段时可以用逗号隔开,每个  字段名=值  就是给字段赋值,其后的WHERE 条件语句可以用也可以不用

扩展资料:

update用途:更新表中原有数据

单独使用,使用where匹配字段

set后面,更新字段值,既可以一次一项,也可以一次多项

例如1,

Update table_name Set column_name = new_value Where column_name = some_value

例:

“Person”表中的原始数据:

LastName FirstName Address City

Nilsen Fred Kirkegt 56 Stavanger

Rasmussen Storgt 67

运行下面的SQL将Person表中LastName字段为”Rasmussen”的FirstName更新为”Nina”:

UPDATE Person SET FirstName = ’Nina’ WHERE LastName = ’Rasmussen’

更新后”Person”表中的数据为:

LastName FirstName Address City

Nilsen Fred Kirkegt 56 Stavanger

Rasmussen Nina Storgt 67

同样的,用UPDATE语句也可以同时更新多个字段:

例如2,

UPDATE Person SET Address = ’Stien 12’, City = ’Stavanger’ WHERE LastName = ’Rasmussen’

更新后”Person”表中的数据为:

LastName FirstName Address City

Nilsen Fred Kirkegt 56 Stavanger

Rasmussen Nina Stien 12 Stavanger

参考资料:

百度百科--update

sql update 语句


按你这个脚本直接改:
create
trigger
update_student
on
student
for
update
as
begin
declare
@班级
int
select
@班级=班级
from
inserted
update
class
set
人数
=
人数
+
@@rowcount
where
班级=@班级
select
@班级=班级
from
deleted
update
class
set
人数
=
人数
-
@@rowcount
where
班级=@班级
end
inserted是刚刚增加的整行,deleted是刚刚删除的整行数据
没有updated,update的过程就是先delete,再insert,所以用inserted和deleted能表达update的过程了
另外你这个触发器只能对更新结果是1个班级的有效,如果是多个班级,在select
@班级=班级
from
inserted这句上会报错
最好的办法还是
create
trigger
update_student
on
student
for
update
as
begin
update
class
set
人数
=
人数
+
人数_add
from
(select
班级,count(1)
as
人数_add
from
inserted
group
by
班级)
b
where
class.班级=b.班级
update
class
set
人数
=
人数
-
人数_min
from
(select
班级,count(1)
as
人数_min
from
deleted
group
by
班级)
b
where
class.班级=b.班级
end
-sql update语句

关于SQL的update语句

如果所有字段都重复,而且系统不提供ROWID等隐藏列,或者RECNO()等函数,或者不能使用LIMIT1指定只更新一条记录,那么你确实没有办法只处理里面的一条记录。INFORMIX等数据库为每一条记录都增加了一个隐藏不可以删除和修改的字段--ROWID,利用这个字段可以指定处理某一条记录。FOXPRO的数据库,可以使用函数RECNO()返回记录号,可以指定RECNO()值进行处理指定的记录。MYSQL数据库的SQL语句可以使用LIMIT1来指定(DELETE或者UPDATE)只操作前面的第一条数据。如果你不是以上数据库,也没有这些东西支持,建议你给表增加一个自动编码的字段,然后就可以使用此字段进行操作了。-date