更新数据

修改已经存储在数据库中的数据的行为叫做更新。你可以更新单独的一行, 也可以更新表中所有的行,还可以更新其中的一部分行。我们可以独立地更新每个列, 而其它的列则不受影响。

例如,我们可以通过下面的语句,把所有d_id值为103的行,对应的d_name设置为“测试部”。




UPDATE department SET d_name = '测试部' WHERE d_id = 103;

06 数据操纵之数据更新与删除 | OushuDB 数据库使用入门_数据

 

这样做可能导致零行、一行或多行数据被更新,只要符合where后面的语句。

关键字SET后面跟着列名、一个等号以及新的列值,新的列值可以是任意标量表达式, 而不仅仅是常量,比如我们可以让所有的部门编号在原来基础上加一:




UPDATE department SET d_id = d_id +1;

06 数据操纵之数据更新与删除 | OushuDB 数据库使用入门_大数据_02

 

你还可以在一个UPDATE命令中更新更多的字段, 方法是在SET子句中列出更多赋值语句。比如:




UPDATE department SET d_name = '产品市场部', d_city = '北京' WHERE d_id = 106;

06 数据操纵之数据更新与删除 | OushuDB 数据库使用入门_数据库_03

 

这里需要注意的是,OushuDB暂时不支持分布键和主键的UPDATE操作。

删除数据

和前面增加数据一样, 删除数据也必须是从表中整行整行地删除,因此我们也需要提供指定某一行的方法,声明被删除行必须匹配的条件。比如,要从部门信息表中删除所有部门编号为 101 的数据行,可以使用:




DELETE FROM department WHERE d_id = 101;

06 数据操纵之数据更新与删除 | OushuDB 数据库使用入门_大数据_04

 

如果没有匹配条件的,如使用:DELETE FROM department;

则会删除department表中所有行,为了保证数据安全,大家一定要注意避免这个操作!