Heim > Artikel > Backend-Entwicklung > 一条sql语句可以同时对两个表做新增,更新,删除操作吗?
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