虚拟表 DUAL

MySQL中使用select 1;不加 from table就可以执行,而在Oracle中需要满足select * from table;这样的结构,因此Oracle引入虚拟表DUAL来表示select 1 from dual;
MySQL 5.5以上版本也引入了类似的虚拟表DUAL,但是在MySQL中执行select * from dual;会报错:
执行select 1 from dual

插入数据前判断是否存在

如果需要在插入数据前判断数据表中是否已经存在此条记录,MySQL中语法如下:

insert into `User` ('name', 'age', 'code')
select '张三', '30', 'ZS0030'
from dual
where not exists(select 1 from User where `name` = '张三' and `code` = 'ZS0030');
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐