素材牛VIP会员
一条sql语句可以同时对两个表做新增,更新,删除操作吗?
 邓***一  分类:ThinkPHP  人气:1510  回帖:2  发布于6年前 收藏

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

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

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

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

讨论这个帖子(2)垃圾回帖将一律封号处理……

Lv6 码匠
这***2 学生 6年前#1

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

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

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

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

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

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

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

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

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

Lv5 码农
阿***7 产品经理 6年前#2

只回答问题1。

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

 文明上网,理性发言!   😉 阿里云幸运券,戳我领取