MySql中类似于 SELECT INTO功能的实现
2009-06-16 10:23
766 查看
SQL Server 有 SELECT * INTO tableA from tableB这样的语法将一个表的数据复制到另外一个表里面,即便两个表中存在名不一样filed(可以用“as”改为和目标表一样,前提是类型要兼容)。
但MySql不支持SELECT INTO这样的表达式
这里我们可以INSERT INTO tableA SELECT tableB.* FROM tableB来实现
假设我们有
表 moduleinfo:
CREATE TABLE `moduleinfo` (
`id` bigint(20) NOT NULL auto_increment,
`moduleId` varchar(50) default NULL,
`playFlag` varchar(50) default NULL,
`moduleName` varchar(50) default ' ',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=gbk;
表 treeinfo:
CREATE TABLE `treeinfo` (
`id` bigint(20) NOT NULL auto_increment,
`treeId` varchar(50) default NULL,
`treeName` varchar(50) default NULL,
`treeType` varchar(50) default NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=gbk CHECKSUM=1 DELAY_KEY_WRITE=1;
现在由于某种原因需要将moduleinfo的数据插入到treeinfo中
那么就可以用下面的这条语句实现
INSERT INTO treeinfo
SELECT m.id,m.moduleId as treeId,m.moduleName as treeName,m.playFlag as treeType
FROM moduleinfo m
在网上找在mysql中实现类似SELECT INTO的方法有很多,但找到的基本上都要创建临时表,不是我当前情形需要的解决方案
----我只是基于测试,需要从另外一个表里导入一些假数据
但MySql不支持SELECT INTO这样的表达式
这里我们可以INSERT INTO tableA SELECT tableB.* FROM tableB来实现
假设我们有
表 moduleinfo:
CREATE TABLE `moduleinfo` (
`id` bigint(20) NOT NULL auto_increment,
`moduleId` varchar(50) default NULL,
`playFlag` varchar(50) default NULL,
`moduleName` varchar(50) default ' ',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=gbk;
表 treeinfo:
CREATE TABLE `treeinfo` (
`id` bigint(20) NOT NULL auto_increment,
`treeId` varchar(50) default NULL,
`treeName` varchar(50) default NULL,
`treeType` varchar(50) default NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=gbk CHECKSUM=1 DELAY_KEY_WRITE=1;
现在由于某种原因需要将moduleinfo的数据插入到treeinfo中
那么就可以用下面的这条语句实现
INSERT INTO treeinfo
SELECT m.id,m.moduleId as treeId,m.moduleName as treeName,m.playFlag as treeType
FROM moduleinfo m
在网上找在mysql中实现类似SELECT INTO的方法有很多,但找到的基本上都要创建临时表,不是我当前情形需要的解决方案
----我只是基于测试,需要从另外一个表里导入一些假数据
相关文章推荐
- MySQL实现类似于connect_by_isleaf的功能MySQL方法或存储过程
- 用mysql实现类似于oracle dblink的功能
- mysql 使用 insert ignore into和unique实现不插入重复数据功能
- MySQL中用select实现TOP N功能 及分页
- 用mysql实现类似于oracle dblink的功能
- mysql load data 与 select into outfile 配合实现文本文件导入导出
- Linux下mysql实现类似于Sqlser的Profiler的访问记录监听功能
- sql server中如何用sql实现类似于mysql的CONCAT()函数的功能?
- mysql实现类似于oracle dblink的功能/开启Federated引擎
- MySQL通过自增一列在Select ... into outfile...里面实现CSV导出带字段的效果
- Ajax与mysql数据交互实现留言板功能
- MySql中利用insert into select 准备数据uuid主键冲突
- MySQL insert into select
- PHP+mysql实现从数据库获取下拉树功能示例
- MySQL select实现原理
- JS 页面内容搜索,类似于 Ctrl+F功能的实现代码
- 具备负载均衡功能MySQL服务器集群部署及实现(1)
- .net core 2.0 下,用C#自创实现MysqlHelper的ExecuteDataTable 功能[2017-10-30]
- MySQL DML操作--------实现pivot行转列功能最佳实战
- 基于php&mysql实现聊天室功能的代码实例分享