Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何为SQL中的所有行添加包含新值的新列?_Sql - Fatal编程技术网

如何为SQL中的所有行添加包含新值的新列?

如何为SQL中的所有行添加包含新值的新列?,sql,Sql,我的oldsalary增加了30%,因此我必须在新的列名newsalary中添加新的列和新的薪资值,而不更改同一表中任何其他列的任何值。 如何操作?如果要添加根据现有薪资列计算的新薪资列,请执行以下操作:- Insert into employee (newsalary) values ('21840'), ('15600'), ('26000'), ('28847'), ('26000'), ('28600'), ('32500'), ('39000'), ('32500'), ('

我的oldsalary增加了30%,因此我必须在新的列名newsalary中添加新的列和新的薪资值,而不更改同一表中任何其他列的任何值。
如何操作?

如果要添加根据现有薪资列计算的新薪资列,请执行以下操作:-

Insert into employee (newsalary) 
values 
('21840'), ('15600'), ('26000'), 
('28847'), ('26000'), ('28600'), 
('32500'), ('39000'), ('32500'), 
('13026'), ('39000'), ('13026')
计算列:

添加列

因为它是一个工资栏,所以您可能需要进行一些数学计算 所以最好在这个列中使用INT-Integer数据类型

更新


Newsalary是什么数据类型?您实际上想做什么?更新现有行还是添加全新的行?添加新列听起来好像有现有列…?不,您需要做一个alter table。。。添加列。。。命令将新列添加到表中,然后对每个特定记录进行更新,以获得每行所需的值。好的,我已经有了表,我想添加具有新值的新列,这些值为“int”,谢谢。但在这种情况下,我每次都要添加不同的值。我可以一起做吗?如果你的表中有一列OldSalary,你只需要添加另一列,如我的第一个陈述中所示,并使用我的答案中所示的最后一个陈述进行更新,它将更新newSalary列,该表中所有记录的增长率为30%,使用该行的OldSalary值。@MuhammedAli您真的不需要第二次查询来更新。这可以在添加列时完成。请参阅我的答案。这只是插入INT数据类型时的另一个提示,在值周围不使用单引号,单引号仅用于string/Varchar/CharDatatypes@AshishGupta这会将30%的加薪设置为“新薪资”列的默认值,因此,如果公司中有新员工,公司在你的代码上给他加薪30%,,你公司有空缺吗,朋友??:应该是这样的,然后改变表Temp,将RetailValue添加为salary*1.30
ALTER TABLE data  
ADD newsalary
AS (salary + (salary * 0.3))
ALTER TABLE table_name
ADD newssalary datatype
UPDATE table_name
SET newssalary  = 21840
WHERE PersonID = ???    --<--- Later Update Salary Column for all records
UPDATE table_name
SET newssalary  = (oldsalary * 1.30)