插入语句(insert)与更新(update)语句

插入语句[insert]: 一般的插入语句这样写 insert into 表名 ('字段名')  values('值'); 其中字段与值的数量要保持一致, 否则报错.

        但是我们也会遇到待插入数据库中的值不是确定的, 而是将查询某个表获取的值插入到表中, 此时可以这样写

     INSERT INTO `sys_resource` ( `name`, `type`, `url`, `parent_id`, `parent_ids`, `permission`, `available`)
       SELECT '测试', 'menu', 'incomingList', sr.id, sr.parent_ids, NULL, '1'  FROM  sys_resource sr  WHERE sr. NAME = '业务管理';

更新语句[update]: 将同一个表中一些数据更新到另一些数据中, 注意是在同一张表中

表user如下:

插入语句(insert)与更新(update)语句_第1张图片

需求如下: 将user表中名称为''关羽''的地址更新到名称为'周瑜'的地址上,首先需要找到'关羽'的地址, 然后更新address到'周瑜', 由于是同一张表为了区分地址, 对表重新命名,相当于是一张表变成了两张表:

update user u1, (select * from user where name = '关羽' ) u2 set u1.address = u2.address where u1.name = '周瑜' ;
结果如下:

 其实有时候sql很简单,主要是一个思路问题, 只要想到思路了, 不管多复杂的问题都会一一解决, 共勉!

你可能感兴趣的:(数据库)