sql修改某一列的某几条数据

上周 我那个朋友 用SQL改数据
他查了表 叫 staff_info
改 name 列 名字带“小”的
改成“小大”
写的是这个SQL sql UPDATE staff_info SET name = REPLACE(name, '小', '小大') WHERE name IN ('小王', '小刚', '小李')
他跑了 结果发现不对劲
REPLACE 全替换 名字里多个“小”都改了
比如“小王小” 变成了“大小大小大”
他赶紧备份了表 sql CREATE TABLE staff_info_backup AS SELECT FROM staff_info;
然后又查了 发现“小张”也被改了 因为 IN 里面没他
他只好再跑一次 sql UPDATE staff_info SET name = REPLACE(name, '小', '小大') WHERE name = '小王'
这次只改了“小王”
算了 数据改完了

sql中怎么修改列

结论:SQL改列关键,添加删重名,改属性要小心。

添加列:ALTER TABLE 指定表名 ADD COLUMN 新列名 数据类型。

删除列:ALTER TABLE 指定表名 DROP COLUMN 列名。

重命名列:ALTER TABLE 指定表名 RENAME COLUMN 旧名 TO 新名(视数据库而定)。

改列属性:ALTER TABLE 指定表名 MODIFY COLUMN 列名 新数据类型。

备份重要:改列属性或删除列前,数据库备份是必须的。

自己掂量。

SQL批量修改某字段的一部分数据

2 02 3 年,我那个朋友公司里有个大项目,数据库里的数据要批量更新。
他们用UPDATE语句来改字段,比如把工资低的那部分人涨了1 0%。
代码是这样的:
sql UPDATE employees SET salary = salary 1 .1 0 WHERE salary < 5> 还有一次,他们得把所有以"old"开头的邮箱地址里的"old"换成"new"。
这回用了REPLACE函数:
sql UPDATE customers SET email = REPLACE(email, 'old', 'new') WHERE email LIKE 'old%';
操作前,他们还特别提醒,得先备份数据库,以防万一。
这事儿得小心点,别改错了数据。

怎样将sql数据库中同一表中的一列数据更改为另外一列的数据?

1 、创建测试表需指定字段类型。
create table tblUpdate(id int primary key, Col1 varchar(1 0), Col2 varchar(1 0)); 2 、插入数据用insert into。
insert into tblUpdate values(1 , '张三', '男'), (2 , '李四', '男'), (3 , '王五', '男'); 3 、查数据直接用select。
select from tblUpdate; 4 、批量修改整表慎用,易出错。
update tblUpdate set Col2 ='女'; 5 、修改指定条数用where条件。
update tblUpdate set Col2 ='第二次修改' where Id in (1 , 2 ); 6 、修改三条数据用where限定。
update tblUpdate set Col2 ='第三次修改' where Id in (1 , 2 , 3 ); 7 、where与case结合用分支条件。
update tblUpdate set Col2 =case when Id=1 then '女' when Id=2 then '男' else '其他' end; 你自己掂量。