修改sql语句怎么写
1. 修改数据库的一个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、备注
如果结果值大于返回类型支持的最大数,则产生错误
2. 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语句写法的特点
1、一体化:SQL集数据定义DDL、数据操纵DML和数据控制DCL于一体,可以完成数据库中的全部工作。
2、使用方式灵活:它具有两种使用方式,即可以直接以命令方式交互使用;也可以嵌入使用,嵌入到C、C++、FORTRAN、COBOL、JAVA等主语言中使用。
3、非过程化:只提操作要求,不必描述操作步骤,也不需要导航。使用时只需要告诉计算机“做什么”,而不需要告诉它“怎么做”。
4、语言简洁,语法简单,好学好用:在ANSI标准中,只包含了94个英文单词,核心功能只用6个动词,语法接近英语口语。
参考资料来源:搜狗百科—update (数据库SQL语法用语)
3. 修改一条记录的sql语句怎么写
IF--THEN语句结合
复制代码 代码如下:
UPDATE mytable
SET myfield = CASE other_field
WHEN 1 THEN 'value'
WHEN 2 THEN 'value'
WHEN 3 THEN 'value'
END
WHERE id IN (1,2,3)
我们可以使用以下SQL语句:
复制代码 代码如下:
UPDATE categories
SET display_order = CASE id
WHEN 1 THEN 3
WHEN 2 THEN 4
WHEN 3 THEN 5
END,
title = CASE id
WHEN 1 THEN 'New Title 1'
WHEN 2 THEN 'New Title 2'
WHEN 3 THEN 'New Title 3'
END
WHERE id IN (1,2,3)
4. 修改一条记录的sql语句怎么写
IF--THEN语句结合 复制代码 代码如下: UPDATE mytable SET myfield = CASE other_field WHEN 1 THEN 'value' WHEN 2 THEN 'value' WHEN 3 THEN 'value' END WHERE id IN (1,2,3) 我们可以使用以下SQL语句: 复制代码 代码如下: UPDATE categories SET display_order = CASE id WHEN 1 THEN 3 WHEN 2 THEN 4 WHEN 3 THEN 5 END, title = CASE id WHEN 1 THEN 'New Title 1' WHEN 2 THEN 'New Title 2' WHEN 3 THEN 'New Title 3' END WHERE id IN (1,2,3) 。
5. 高手们来帮帮看看一个SQL语句怎么写
这段SQL是可以查询PUBS库中JOBS这表的列名,不过可能和你实际列顺序有差别。你这样做,是什么系统的什么需求?要达到什么样的目的呢?说个例子
USE PUBS
SELECT SysObjects.Name as TableName,
SysColumns.Name as ColumnsName,
SysTypes.Name as DateType,
SysColumns.Length as DateLength,
SysProperties.Value as Remark --列描述
FROM SysObjects,
SysTypes,
SysColumns
LEFT JOIN SysProperties
ON (Syscolumns.Id = Sysproperties.Id AND Syscolumns.Colid = Sysproperties.Smallid)
WHERE (Sysobjects.Xtype ='u' OR Sysobjects.Xtype ='v')
AND Sysobjects.Id = Syscolumns.Id
AND SysTypes.XType = Syscolumns.XType
AND SysTypes.Name <> 'sysname'
AND SysObjects.name = 'jobs'
sql语句怎么写
1. SQL语句怎么写
分析:先在table1里计算A类货品的总进货量,sum(批次进货量) select sum(批次进货量) as 'A类进货量' from table 1 where 类别='A' 然后再table2里计算A类货品的总出货量,sum(批次出货量) select sum(批次出货量) as 'A类出货量' from table 2 where 类别='A' 这样库存=sum(批次进货量)-sum(批次出货量) sql语句: declare @sum_in @int,@sum_out @int,@sum_now intselect @sum_in=sum(批次进货量) as 'A类进货量' from table 1 where 类别='A'select @sum_out=sum(批次出货量) as 'A类出货量' from table 2 where 类别='A'select @sum_now=@sum_in-@sum_out as 'A类库存'合成: select A类库存 from ((select sum(批次进货量) from table1 where 类别='A')-(select sum(批次出货量) from table2 where 类别='A') as 'A类库存')这样就完成了,原理如是,不保证可直接运行成功。
同理,B类货品也可按此步骤进行计算 改进:将分析语句写成存储过程。也可将分析步骤写成VIEW。
另外进货出货需要频繁修改库存,可使用触发器。 经验:此类实际问题表的设计不是很合理。
由于库存信息频繁的被用到,库存又属于派生类属性,所以有必要牺牲数据冗余,直接将库存作为表的一个列名。用的时候直接选取数据信息。
2. SQL语句怎么写
select * from b where b.id not in (select id from a);
select b.* from a,b
minus
select a.t_id from a,b
where a.t_id = b.t_id;
select * from b where not exists (select 1 from a where a.t_id = b.t_id);
以上三种都可以的
3. sql语句怎么写
你可以参照下面的来动态写SQL语句
假设有张学生成绩表(tb)如下:姓名 课程 分数张三 语文 74张三 数学 83张三 物理 93李四 语文 74李四 数学 84李四 物理 94想变成(得到如下结果): 姓名 语文 数学 物理 李四 74 84 94张三 74 83 93create table tb(姓名 varchar(10) , 课程 varchar(10) , 分数 int)insert into tb values('张三' , '语文' , 74)insert into tb values('张三' , '数学' , 83)insert into tb values('张三' , '物理' , 93)insert into tb values('李四' , '语文' , 74)insert into tb values('李四' , '数学' , 84)insert into tb values('李四' , '物理' , 94)go--SQL SERVER 2005 静态SQL的写法
select * from (select * from tb) a pivot (max(分数) for 课程 in (语文,数学,物理)) b--SQL SERVER 2005 动态SQL。declare @sql varchar(8000)select @sql = isnull(@sql + '],[' , '') + 课程 from tb group by 课程set @sql = '[' + @sql + ']'exec ('select * from (select * from tb) a pivot (max(分数) for 课程 in (' + @sql + ')) b')
4. sql语句要怎么写
use Tempdbgo--> --> if not object_id(N'Tempdb..#') is null drop table #GoCreate table #([公司名] nvarchar(3),[名单] nvarchar(2))Insert #select N'A公司',N'张三' union allselect N'A公司',N'李四' union allselect N'B公司',N'张五' union allselect N'B公司',N'赵六'GoSelect [公司名], [名单]=STUFF((SELECT ','+名单 FROM # WHERE 公司名=a.公司名 FOR XML PATH('')),1,1,'')from # AS aGROUP BY [公司名]/*(4 个资料列受到影响)公司名 名单---- --------------------------A公司 张三,李四B公司 张五,赵六(2 个资料列受到影响)*/。
5. 在数据库中添加一行的SQL语句怎么写啊
选择:select * from 表名 where 条件插入:insert into 表名(字段名1,字段名2) values(值1,值2)删除:delete from 表名 where 条件更新:update 表名 set 要更新的字段名=值 where 条件查找:select * from 表名 where 字段名 like '%值% '----------模糊查询,如查苏州,他会查出美苏州,苏州好等类似字段 /////////////////////////////////////这些是基本的增,删,查,改的SQL语句,希望对你有帮助。
6. SQL语句该怎么写
SQL分类:
DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE)
DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT)
DCL—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK)
查询所有同学均及格的课程名
select cname from Course
where NOT EXISTS(
select * from Student
where NOT EXISTS(
select * from SC
where sno=Student.sno
and cno=Course.cno
and score>=60
)
)
查询所有同学均及格的课程的最低成绩、最高成绩和平均成绩:
select cno,min(score),max(score),avg(score) from sc
where con in( select cno from Course
where NOT EXISTS(
select * from Student
where NOT EXISTS(
select * from SC
where sno=Student.sno
and cno=Course.cno
and score>=60
)
)
)
group by con
7. 您好
select goodsName ,qty from goods grselect a.goodsname,jin,isnull(chu,0) chu,jin-isnull(chu,0) as yu from (select goodsname,sum(qty) as jin from goods group by goodsname) aleft join(select goodsname,sum(qty) as chu from goods where cls='出' group by goodsname) bon a.goodsname = b.goodsname 也可以这样实现,一楼的比较好点。
8. 这个sql语句怎么写
无论是在sql 2000,还是在 sql 2005 中,都没有提供字符串的聚合函数, 所以,当我们在处理下列要求时,会比较麻烦:有表tb, 如下:id value----- ------1 aa1 bb2 aaa2 bbb2 ccc需要得到结果:id values------ -----------1 aa,bb2 aaa,bbb,ccc即, group by id, 求 value 的和(字符串相加) 1. 旧的解决方法 -- 1. 创建处理函数CREATE FUNCTION dbo.f_str(@id int)RETURNS varchar(8000)ASBEGIN DECLARE @r varchar(8000) SET @r = '' SELECT @r = @r + ',' + value FROM tb WHERE id=@id RETURN STUFF(@r, 1, 1, '')ENDGO-- 调用函数 SELECt id, values=dbo.f_str(id) FROM tb GROUP BY id -- 2. 新的解决方法 -- 示例数据DECLARE @t TABLE(id int, value varchar(10))INSERT @t SELECT 1, 'aa'UNION ALL SELECT 1, 'bb'UNION ALL SELECT 2, 'aaa'UNION ALL SELECT 2, 'bbb'UNION ALL SELECT 2, 'ccc' -- 查询处理SELECT *FROM( SELECT DISTINCT id FROM @t)AOUTER APPLY( SELECT [values]= STUFF(REPLACE(REPLACE( ( SELECT value FROM @t N WHERE id = A.id FOR XML AUTO ), '
--处理的数据CREATE TABLE tb(col1 varchar(10),col2 int)INSERT tb SELECT 'a',1UNION ALL SELECT 'a',2UNION ALL SELECT 'b',1UNION ALL SELECT 'b',2UNION ALL SELECT 'b',3 --合并处理--定义结果集表变量DECLARE @t TABLE(col1 varchar(10),col2 varchar(100)) --定义游标并进行合并处理DECLARE tb CURSOR LOCALFORSELECT col1,col2 FROM tb ORDER BY col1,col2DECLARE @col1_old varchar(10),@col1 varchar(10),@col2 int,@s varchar(100)OPEN tbFETCH tb INTO @col1,@col2SELECT @col1_old=@col1,@s=''WHILE @@FETCH_STATUS=0BEGIN IF @col1=@col1_old SELECT @s=@s+','+CAST(@col2 as varchar) ELSE BEGIN INSERT @t VALUES(@col1_old,STUFF(@s,1,1,'')) SELECT @s=','+CAST(@col2 as varchar),@col1_old=@col1 END FETCH tb INTO @col1,@col2ENDINSERT @t VALUES(@col1_old,STUFF(@s,1,1,''))CLOSE tbDEALLOCATE tb--显示结果并删除测试数据SELECT * FROM @tDROP TABLE tb/*--结果col1 col2---------- -----------a 1,2b 1,2,3--*/GO /*==============================================*/ --3.3.2 使用用户定义函数,配合SELECT处理完成字符串合并处理的示例--处理的数据CREATE TABLE tb(col1 varchar(10),col2 int)INSERT tb SELECT 'a',1UNION ALL SELECT 'a',2UNION ALL SELECT 'b',1UNION ALL SELECT 'b',2UNION ALL SELECT 'b',3GO --合并处理函数CREATE FUNCTION dbo.f_str(@col1 varchar(10))RETURNS varchar(100)ASBEGIN DECLARE @re varchar(100) SET @re='' SELECT @re=@re+','+CAST(col2 as varchar) FROM tb WHERE col1=@col1 RETURN(STUFF(@re,1,1,''))ENDGO --调用函数SELECT col1,col2=dbo.f_str(col1) FROM tb GROUP BY col1--删除测试DROP TABLE tbDROP FUNCTION f_str/*--结果col1 col2---------- -----------a 1,2b 1,2,3--*/GO /*==============================================*/ --3.3.3 使用临时表实现字符串合并处理的示例--处理的数据CREATE TABLE tb(col1 varchar(10),col2 int)。
转载请注明出处育才学习网 » 修改的sql语句怎么写
育才学习网