1. sql语句修改
加入一张表里有多条数据比较多个人的比分胜负。我们通过查询名称,然后将分数行作为对比字段,付给我们新做的字段这样行就能成列了
select
字段名1,max(case
fruit
when
'apple'
then
amount
else
0
end)
as
[胜利],
max(case
fruit
when
'pear'
then
amount
else
0
end)
as[失败]
from
表明
group
by
class
2. 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
3. SQL语句,update
UPDATE 语句用于更新表中已存在的记录。结构化查询语言(Structured Query Language)简称SQL,结构化查询语言是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。
见语句
更新:update table1 set field1=value1 where 范围
查找:select * from table1 where field1 like ’%value1%’ (所有包含‘value1’这个模式的字符串)
排序:select * from table1 order by field1,field2 [desc]
求和:select sum(field1) as sumvalue from table1
平均:select avg(field1) as avgvalue from table1
最大:select max(field1) as maxvalue from table1
最小:select min(field1) as minvalue from table1[separator]
4. sql update语句
update
SEOrder
set
FCOMHFreeItem2
=
t_Item.FName
from
SEOrder,t_Organization,t_Item
where
SEOrder.FCustID
=
t_Organization.FItemID
and
t_Organization.F_122
=
t_Item.FItemID
and
SEOrder.FCOMHFreeItem2
is
null
;
LZ可以参考上面语句的写法(sybase,sql
server均支持,oracle不支持update时使用from,如果没记错的话)。
在更新时,要注意表间关系是否是一对一关系,否则可能会有问题(如果是一对多关系,sybase不会有问题,sybase是用一对多结果集中的第一条记录的值来更新的,sql
server未测试,应该也可以,oracle应该是不可以的)。
PS:上面的语法中,from中的
SEOrder
也可以省略,因为update的就是这个表。
5. 修改数据库的一个sql语句
Update 语句
Update 语句用于修改表中的数据,语法: update 表名 set 字段名1=值1,... Where 关键字=值
1、使用Update语句,如果省略“ Where条件”,将更新数据表内的全部记录。
2、赋值时,注意字段的类型。若为文本型或备注型,则字段值两边要加引号,若为日期/时间型,则字段值两边要加上#号(加引号也可以);若为布尔类型,则该字段的值为True或 False;若为自动编号类型,则不要给该字段赋值。
拓展资料
批量修改数据
update 表名 set 字段名=stuff(字段名,1,3,'新内容');
如:将表test中name字段的前3个字符改成'test'
update test set name=stuff(name,1,3,'test');
sqlserver stuff用法
1、作用
删除指定长度的字符,并在指定的起点插入另一组字符。
2、语法
STUFF ( character_expression , start , length ,character_expression )
3、示例
在第一个字符串stringtest中删除从第3个位置(字符r)开始的三个字符,然后在删除的起始位置插入第二个字符串,返回一个新的字符串。
select stuff('stringtest',3,3,'ok')
结果 stroktest
4、参数
character_expression
一个字符数据表达式。character_expression可以是常量、变量,也可以是字符列或二进制数据列。
start
一个整数,指定要删除和插入的开始位置。如果start或length为负,则返回空字符串。如果start比第一个character_expression长,则返回空字符串。start可以是bigint类型。
length
一个整数,指定要删除的字符串数。如果length比第一个character_expression长,则最多删除到最后一个character_expression中的最后一个字符。length可以是bigint类型。
5、返回类型
如果character_expression是受支持的字符数据类型,则返回字符数据。如果character_expression是一个不受支持的binary数据类型,则返回二进制数据。
6、备注
如果结果值大于返回类型支持的最大数,则产生错误
6. sql update 语句是什么
UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值,update语句的写法:
1、UPDATE table_name。
2、SET column1=value1,column2=value2,...。
3、WHERE column(1)=value(1),column(2)=value(2)...and column(n)=value(n)。
4、UPDATE Person SET Address = 'Zhongshan 23', City = 'Nanjing',WHERE LastName = 'Wilson'。
SQL语句中UPDATE的三种用法:
一、环境:
MySQL-5.0.41-win32。
Windows XP professional。
二、建立测试环境:
DROP TABLE IF EXISTS t_test。
CREATE TABLE t_test 。
bs bigint(20) NOT NULL auto_increment。
username varchar(20) NOT NULL。
password varchar(20) default NULL。
remark varchar(200) default NULL。
PRIMARY KEY (bs)。
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=gbk。
INSERT INTO t_test VALUES (1,'lavasoft','123456',NULL)。
INSERT INTO t_test VALUES (2,'hello',NULL,NULL)。
INSERT INTO t_test VALUES (3,'haha',zz,tt)。
7. ASP sqL修改语句
ActiveServerPages,ASP0126(0x80004005)-->找不到包含文件
(0x80040E21)-->sql语句出错(数据类型不匹配或表名(字段名)错误或表处于编辑状态,或表不存在于conn打开的数据库中)
(0x80040E14)-->sql语句出错(字段名错误,或数据类型不匹配)
(0x80040E07)-->sql语句出错(要插入或更新的字段的类型与变量数据类型不匹配)
(0x80040E57)-->sql语句出错(要插入或更新的数据溢出)
(0x80040E10)-->sql语句出错(update字段名或要更新的数据类型错误)
(0x80004005)-->sql语句出错(要插入或更新的字段的数值不能为空值)
(0x80004005)
-->打开数据库出错,没有在指定目录发现数据库
(0x80040E37)-->没有发现表
8. sql update 语句是什么
UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值,update语句的写法:
1、UPDATE table_name
2、SET column1=value1,column2=value2,...
3、WHERE column(1)=value(1),column(2)=value(2)...and column(n)=value(n);
4、UPDATE Person SET Address = 'Zhongshan 23', City = 'Nanjing',WHERE LastName = 'Wilson'。
用途:更新表中原有数据
单独使用,使用where匹配字段
set后面,更新字段值,既可以一次一项,也可以一次多项
例:
“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'。
9. sql修改语句
按顺序排下去
select
列名
from
表名
order
by
列名
--正序,出来的就是1,2,3
select
列名
from
表名
order
by
列名
desc--倒序,出来的就是3,2,1
你改成0003前边000不见了,是因为你那个字段是number型的吧,是number型的只保留第一个有效数字以后的东西,有效数字的概念你懂吧?
-----补充-------
没按顺序是因为你order
by的字段不对吧?
你先看看你的那个字段的类型是什么吧?
10. sql数据库修改语句
平常写到编辑器里的SQL语句,是update
aa
set
字段名1='
字符型',字段名2=数值型在编程语言里。当你要引用变量时,变量是用(''+变量+")双引号引起来的所以当你在编程里写语句的时候,就是update
aa
set
字段名1='"+变量+"',字段名2="+变量+"