比如一个表有三个字段a,b,c;a有以下值:1001、1002、1003、1004,b存储相应名称,然后c字段有:1111、null、null、1114,问怎么能将a字段的值更改为c字段不为空的值,就是将c的值全部放到a里面去,但如果c为null的话,a的值不改变?
一楼的方法试了好像不行啊,有错 ;二楼的方法我开始就这么想的,可是行不通诶,根本改动不了
1、打开SQLServerManagement管理工具,使用sql语句创建一张测试表:
2、在测试表中,插入3条测试数据:
3、查询刚刚插入的数据:select*fromtblUpdate;
4、使用一条语句批量修改整个表的数据,慎用:updatetblUpdatesetCol2='女';
5、使用一条语句批量修改指定条数的记录:updatetblUpdatesetCol2='第二次修改'whereId=1orId=2;
6、使用一条语句批量修改这三条数据(按条件修改值):
7、使用一条语句批量修改数据,使用where和casewhen。
用:update 表名 set a=c where c is not null即可。
update 表名 set 列名=想改的值
例子:
数据库表 Card 中的某列名为date ,列中的数据都不相同,把这一列的所有数据都改为2013
update Card set Date=2013
注意事项
SQL中新增列或者说添加字段的语法:
alter table 表名 add 列名 数据类型
二、例如:在表texttable中添加一列字符型字段colnew:
alter table texttable add colnew char(20)
三、添加的新列,默认值为空值NULL。需要根据需求使用SQL语句更改
1、SQL修改列的语法:
update 表名 set 字段 = 赋值 where字句(确定要修改的列)
2、实例:
update texttable set colnew = 'temp';--把所有行的 colnew列的值改为 "temp"
update texttable set colnew = 'temp' where id=1000 ;--把ID为1000的行 colnew列的值改为 "temp"本回答被网友采纳
可用update语句来更改,但要注意,两列的属性及长度应尽量保持一致,或被更改的列的长度大于另一列的长度,否则在update过程中容易报错。
1、创建测试表,插入数据:
create table test数据如下:
2、现在要将name1的内容更改为name中的内容,可用如下语句:
3、更改后的结果如图(此时name和name1列的内容就相同了):