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

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

发表评论

电子邮件地址不会被公开。 必填项已用*标注