MySQL中Update、select联用操作单表、多表,及视图与临时表的区别


一、MySQL中使用从表A中取出数据来更新表B的内容例如:要update表data中的一些列属性,但是修改属性的内容来源是来自表chanpin。SQL语言中不要显示的出现select关键字二、MySQL中update和select的表是同一张表
MySQL有点让人不爽的是它的select from后面不能跟要update的表名,例如:要更新的表和查询的表名相同,sql执行时报错:You can’t specify target table ‘TBCP SELLER’ for update in FROM clause
应对这个问题,我们可以构造一个视图,用select嵌套的方式实现查询和更新,如下所示:注意上面开发云主机域名SQL中的:as x必须要有,否则会报错:Every derived table must have its own alias(每一个派生表必须有自己的别名)三、临时表与视图的区别临时表临时表是建立在系统临时文件夹中的表,如果使用得当,完全可以像普通表一样进行各种操作,在VFP退出时自动被释放。创建MySQL临时表很容易,给正常的CREATE TABLE语句加上TEMPORARY关键字 Sql代码 :
CREATE TEMPORARY TABLE tmp_table ( name VARCHAR(10) NOT NULL, value INTEGER NOT NULL )
CREATE TEMPORARY TABLE tmp_table ( name VARCHAR(10) NOT NULL, value INTEGER NOT NULL )
视图从用户角度来看,一个视图是从一个特定的角度来查看数据库中的数据。
从数据库系统内部来看,一个视图是由SELECT语句组成的查询定义的虚拟表。
从数据库系统内部来看,视图是由一张或多张表中的数据组成的
从数据库系统外部来看,视图就如同一张表一样,对表能够进行的一般操作都可以应用于视图,例如查询,插入,修改,删除操作等。

相关推荐: 在MySQL concat里面使用多个单引号,三引号的问题

在动态拼接字符串时,我们常会用到字符拼接,我对拼接的引号不理解,如:1、”’+ id +”’ 为什么是3个引号,为什么左边一个加号右边一个加号(能不能着重帮我解释下这个,详细点)SQL codesum(case Leave when ”’+ id +”…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 06/11 17:47
下一篇 06/11 17:53

相关推荐