Home  >  Article  >  Backend Development  >  一条sql语句可以同时对两个表做新增,更新,删除操作吗?

一条sql语句可以同时对两个表做新增,更新,删除操作吗?

WBOY
WBOYOriginal
2016-06-06 20:24:523720browse

1:一条sql语句可以同时对两个表做新增,更新,删除操作吗?

2:一条sql语句能同时对多表操作的只有select语句吗?

3:如果将多条 新增/更新/删除 操作语句使用分号隔开执行呢?

4:如果将多条select语句使用分号隔开执行会怎样呢?

回复内容:

1:一条sql语句可以同时对两个表做新增,更新,删除操作吗?

2:一条sql语句能同时对多表操作的只有select语句吗?

3:如果将多条 新增/更新/删除 操作语句使用分号隔开执行呢?

4:如果将多条select语句使用分号隔开执行会怎样呢?

1:一条sql语句可以同时对两个表做新增,更新,删除操作吗?

不可以,当然如果用;分隔两条SQL传递过去是能执行的。。不过那严格意义上说,不是一条了

2:一条sql语句能同时对多表操作的只有select语句吗?

可以,看你这个指的是什么多表操作了,如果多个结构一样的表。用Union把多表结果合并出来。还有子查询,也算是select多表。。

3:如果将多条 新增/更新/删除 操作语句使用分号隔开执行呢?

当然可以拉。相当于执行了多条语句。。不过有的引擎和框架为了防止被注入,是会强制过滤这类的。不然有人在了查询语句中间插入了分号,那就可以执行任何他想执行的语句了。

4:如果将多条select语句使用分号隔开执行会怎样呢?

这个也是看引擎的,大多数会依次返回你请求的结果。也有的框架是返回第一条,也有的是返回最后一条。根据框架建议你直接写个简单的sql做下测试就知道了。。

ps.一般是不允许一次多条SQL的。不然那样真的很危险。。。

只回答问题1。

视图算吗?
MySQL支持一个叫“视图”的东西,它可以把多个表组成一个视图。对这个视图的增删改查操作可以影响到多个表。
MySQL 5.7中关于视图的说明:http://dev.mysql.com/doc/refman/5.7/en/views.html

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn