mysql 大表导出,导出大型MySql表

I have a table in MySql that I manage using PhpMyAdmin. Currently it's sitting at around 960,000 rows.

I have a boss who likes to look at the data in Excel, which means weekly, I have to export the data into Excel.

I am looking for a more efficient way to do this. Since I can't actually do the entire table at once, because it times out. So I have been stuck with 'chunking' the table into smaller queries and exporting it like that.

I have tried connecting Excel (and Access) directly to my database, but same problem; it times out. Is there any way to extend the connection limit?

解决方案

Honestly for this size of data, I would suggest doing a mysqldump then importing the table back into another copy of MySQL installed somewhere else, maybe on a virtual machine dedicated to this task. From there, you can set timeouts and such as high as you want and not worry about resource limitations blowing up your production database. Using nice on Unix-based OSes or process priorities on Windows-based system, you should be able to do this without too much impact to the production system.

Alternatively, you can set up a replica of your production database and pull the data from there. Having a so-called "reporting database" that replicates various tables or even entire databases from your production system is actually a fairly common practice in large environments to ensure that you don't accidentally kill your production database pulling numbers for someone. As an added advantage, you don't have to wait for a mysqldump backup to complete before you start pulling data for your boss; you can do it right away.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要将MySQL结构导出为Excel,你可以按照以下步骤进行: 1. 使用MySQL命令行工具或可视化工具,连接到你的MySQL数据库。 2. 运行SHOW TABLES;语句,以获取数据库中所有的列。 3. 针对每个,运行SHOW CREATE TABLE table_name;语句,以获取的创建语句。将结果复制到一个文本编辑器中,以备后用。 4. 打开Microsoft Excel(或任何其他支持Excel格式的电子格应用程序)。 5. 在第一个工作中,将名称和结构导入。你可以使用格来组织这些信息,其中每个的名称位于第一个单元格,结构的列名和数据类型位于第二行开始的单元格。 6. 在第二个工作中,将每个的列信息导入。你可以使用格来组织这些信息,其中每个列名和相关属性位于第一行开始的单元格。 7. 将第一个工作和第二个工作保存为Excel文件。 通过按照上述步骤操作,你可以将MySQL结构导出为Excel文件。这样,你就可以轻松地查看和共享的结构信息了。 ### 回答2: 要将 MySQL 结构导出为 Excel 文件,可以采用以下步骤: 1. 使用 MySQL 的 "DESCRIBE" 命令或 "SHOW COLUMNS" 命令,查询的结构信息。例如,可以执行以下 SQL 语句获取 "table_name" 的结构信息: ```sql DESCRIBE table_name; ``` 或者 ```sql SHOW COLUMNS FROM table_name; ``` 2. 将查询结果保存为文本文件,例如 "table_structure.txt"。 3. 使用编程语言(如 Python、Java 等)读取文本文件中的数据,并将数据写入到 Excel 文件中。常用的库包括 openpyxl、XlsxWriter、Pandas 等。以下是使用 Python 的 openpyxl 库的示例代码: ```python from openpyxl import Workbook # 创建一个新的 Excel 文档 workbook = Workbook() sheet = workbook.active # 读取结构信息的文本文件 with open('table_structure.txt', 'r') as f: lines = f.readlines() # 逐行写入 Excel 文件 for i, line in enumerate(lines): columns = line.strip().split('\t') # 假设每一行的字段以制符分隔 for j, column in enumerate(columns): sheet.cell(row=i+1, column=j+1).value = column workbook.save('table_structure.xlsx') # 保存 Excel 文件 ``` 4. 运行以上代码后,会生成一个名为 "table_structure.xlsx" 的 Excel 文件,其中包含了 MySQL 的结构信息。 需要注意的是,导出的 Excel 文件中可能不包含部分特殊字符或格式,例如注释、默认值等。因此,在实际应用中,可能需要根据具体需求进行进一步的处理和调整。 ### 回答3: 要将MySQL结构导出为Excel,可以按照以下步骤进行操作: 第一步,使用数据库管理工具,例如Navicat for MySQL或phpMyAdmin等,连接到MySQL数据库。 第二步,选择要导出结构的数据库,然后选择要导出结构的数据。 第三步,右键点击选择的,然后选择“导出”选项。 第四步,在导出设置中,选择导出格式为CSV或Excel(XLS或XLSX)。 第五步,选择导出路径和文件名,点击“导出”按钮。 第六步,等待导出过程完成。 通过以上步骤,可以将MySQL结构导出为Excel文件。这样导出的Excel文件中将包含的所有字段名称、数据类型、约束条件等结构信息。 另外,如果只需要导出的列名而不需要其他结构信息,可以通过编写SQL语句查询数据库的information_schema来获取列名,然后将结果导出到Excel文件中。例如,可以使用以下SQL语句查询的列名: SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = '数据库名' AND TABLE_NAME = '名'; 然后将查询结果复制到Excel文件中即可。这种方法更加简单,适用于只需要导出的列名的情况。 总结起来,通过数据库管理工具导出整个的结构信息,或者通过编写SQL语句查询的列名,然后将结果导出到Excel文件中,都可以实现将MySQL结构导出为Excel的操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值