将mysql 表1中 数据转到多个表中,其中待转入的表的后缀 是 表1中字段account_id

时间: 2024-02-19 09:03:45 浏览: 25
好的,你需要将表1中的数据转移到多个表中,每个表的表名都是相同的前缀,后缀为表1中对应记录的account_id。以下是实现这个过程的SQL查询: ``` SET @prefix = 'table_prefix_'; SELECT DISTINCT CONCAT(@prefix, account_id) AS table_name FROM table1; -- 获取所有表名,用于创建新表 DROP TABLE IF EXISTS temp_table_names; CREATE TEMPORARY TABLE temp_table_names SELECT DISTINCT CONCAT(@prefix, account_id) AS table_name FROM table1; -- 创建新表结构 DROP TABLE IF EXISTS temp_table_structure; CREATE TEMPORARY TABLE temp_table_structure SELECT * FROM table1 WHERE 1 = 0; -- 将数据插入到新表中 SET @sql = NULL; SELECT GROUP_CONCAT(CONCAT('INSERT INTO ', table_name, ' SELECT * FROM temp_table_structure WHERE account_id = "', REPLACE(table_name, @prefix, ''), '";') SEPARATOR ' ') INTO @sql FROM temp_table_names; PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt; ``` 这个查询首先获取所有要创建的表的表名,以及每个表的account_id后缀。然后,它创建一个临时表来存储这些表名,并根据表1的结构创建另一个临时表来存储从表1中选择的数据。 最后,它使用动态SQL将数据插入到每个新表中。它首先生成一个INSERT INTO语句,将数据从临时表temp_table_structure插入到对应的新表中。这里使用了REPLACE函数来获取每个表的account_id后缀。 注意,这个查询使用了动态SQL,因此需要在MySQL中启用它。如果你没有启用动态SQL,可以使用以下查询替换最后一部分: ``` SELECT CONCAT('INSERT INTO ', table_name, ' SELECT * FROM temp_table_structure WHERE account_id = "', REPLACE(table_name, @prefix, ''), '";') FROM temp_table_names; ``` 这个查询将生成一系列INSERT INTO语句,你需要将它们复制并粘贴到MySQL CLI中以执行它们。

相关推荐

最新推荐

recommend-type

mysql 一次向表中插入多条数据实例讲解

主要介绍了mysql 一次向表中插入多条数据实例讲解的相关资料,需要的朋友可以参考下
recommend-type

Mysql 根据一个表数据更新另一个表的某些字段(sql语句)

主要介绍了Mysql 根据一个表数据更新另一个表的某些字段,本文给出了sql语句,感兴趣的朋友可以跟随脚本之家小编一起学习吧
recommend-type

MySQL中大数据表增加字段的实现思路

最近遇到的一个问题,需要在一张将近1000万数据量的表中添加加一个字段,但是直接添加会导致mysql 奔溃,所以需要利用其他的方法进行添加,这篇文章主要给大家介绍了MySQL中大数据表增加字段的实现思路,需要的朋友...
recommend-type

MySQL下将一个表的数据插入到另外一个表的实现语句

开发中,我们经常需要将一个表的数据插入到另外一个表,有时还需要指定导入字段,虽然这个实现起来非常简单,但是还是会困扰许多新手,因此专门发一篇文章备查。
recommend-type

实验训练1 在MySQL中创建数据库和表.docx

有安装、创建库、创建表、增加、修改、删除、查询等等一共16页,有截图、很详细的步骤讲解、操作,用于国家开发大学形考考试作业用。
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

MATLAB结构体与对象编程:构建面向对象的应用程序,提升代码可维护性和可扩展性

![MATLAB结构体与对象编程:构建面向对象的应用程序,提升代码可维护性和可扩展性](https://picx.zhimg.com/80/v2-8132d9acfebe1c248865e24dc5445720_1440w.webp?source=1def8aca) # 1. MATLAB结构体基础** MATLAB结构体是一种数据结构,用于存储和组织相关数据。它由一系列域组成,每个域都有一个名称和一个值。结构体提供了对数据的灵活访问和管理,使其成为组织和处理复杂数据集的理想选择。 MATLAB中创建结构体非常简单,使用struct函数即可。例如: ```matlab myStruct
recommend-type

详细描述一下STM32F103C8T6怎么与DHT11连接

STM32F103C8T6可以通过单总线协议与DHT11连接。连接步骤如下: 1. 将DHT11的VCC引脚连接到STM32F103C8T6的5V电源引脚; 2. 将DHT11的GND引脚连接到STM32F103C8T6的GND引脚; 3. 将DHT11的DATA引脚连接到STM32F103C8T6的GPIO引脚,可以选择任一GPIO引脚,需要在程序中配置; 4. 在程序中初始化GPIO引脚,将其设为输出模式,并输出高电平,持续至少18ms,以激活DHT11; 5. 将GPIO引脚设为输入模式,等待DHT11响应,DHT11会先输出一个80us的低电平,然后输出一个80us的高电平,
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。