Shell导出MySql部分表及数据

#!/bin/bash
#export MySql table and table's data
#table's name in single file,shell to read this file and read by line
#shell script by okhelper ,2016-02-26


cat $1 | while read LINE            
do
        CMD="mysqldump -h 127.0.0.1 -uroot -proot fsdb $LINE"
        echo $CMD
        #sleep 1
        eval $CMD |tee $LINE.sql
        #sleep 1
done


echo ""
echo "backup fsdb's table complet!"
### 使用 MySQL Shell 导出数据 为了使用 MySQL Shell 导出数据,可以采用多种方法。一种常见的做法是利用 `mysqldump` 工具,该工具能够备份整个数据库或特定的内容到 SQL 文件中[^1]。 ```sql mysqldump -u username -ppassword database_name table_name > /path/to/output_file.sql ``` 另一种方式是在 MySQL Shell 中执行查询并将结果保存至文件。这通常适用于导出较小的数据集或是经过处理后的查询结果: ```javascript // 进入 JavaScript 模式下的 MySQL Shell \js var session = mysqlx.getSession('username:password@localhost'); var schema = session.getSchema('database_name'); var result = schema.getTable('table_name').select().execute(); result.fetchAll().forEach(row => { print(JSON.stringify(row)); }); ``` 对于更复杂的需求,比如导出为 CSV 格式,则可以在 MySQL Shell 的 Python 或者 SQL 模式下编写脚本实现自定义化导出逻辑。这里给出一个简单的例子展示如何在 Python 模式下完成此操作: ```python # 切换到 Python 模式的 MySQL Shell \py import csv session = mysqlx.get_session('username:password@localhost') schema = session.get_schema('database_name') table = schema.get_table('table_name') with open('/path/to/exported_data.csv', 'w') as csvfile: writer = csv.writer(csvfile) columns = [col['COLUMN_NAME'] for col in table.columns] writer.writerow(columns) rows = table.select().execute().fetch_all() for row in rows: writer.writerow([str(cell) for cell in row]) ``` 上述代码片段展示了三种不同的途径来满足不同场景下的需求——无论是快速创建完整的数据库备份还是灵活地控制输出格式与内容。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值