DB2和MySQL都是流行的关系型数据库管理系统(RDBMS),但它们由不同的公司开发,具有不同的特性和用途。
将DB2数据库转换为MySQL数据库通常涉及以下步骤:
db2export
。以下是一个简单的示例,展示如何使用Python脚本将DB2中的数据导出并转换为CSV格式,然后导入到MySQL中。
import ibm_db_dbi as db2
import mysql.connector
import csv
# 连接到DB2数据库
db2_conn = db2.connect("DATABASE=yourdb;HOSTNAME=yourhost;PORT=yourport;UID=youruser;PWD=yourpassword")
db2_cursor = db2_conn.cursor()
# 执行查询并导出到CSV
db2_cursor.execute("SELECT * FROM your_table")
with open('output.csv', 'w', newline='') as csvfile:
csvwriter = csv.writer(csvfile)
csvwriter.writerow([i[0] for i in db2_cursor.description]) # 写入列名
csvwriter.writerows(db2_cursor)
# 连接到MySQL数据库
mysql_conn = mysql.connector.connect(user='youruser', password='yourpassword', host='yourhost', database='yourdb')
mysql_cursor = mysql_conn.cursor()
# 创建MySQL表
create_table_sql = """
CREATE TABLE IF NOT EXISTS your_table (
column1 datatype,
column2 datatype,
...
)
"""
mysql_cursor.execute(create_table_sql)
# 从CSV导入数据到MySQL
with open('output.csv', 'r') as csvfile:
csvreader = csv.reader(csvfile)
next(csvreader) # 跳过列名
for row in csvreader:
insert_sql = "INSERT INTO your_table (column1, column2, ...) VALUES (%s, %s, ...)"
mysql_cursor.execute(insert_sql, row)
# 提交事务并关闭连接
mysql_conn.commit()
db2_cursor.close()
db2_conn.close()
mysql_cursor.close()
mysql_conn.close()
请注意,实际转换过程中可能需要根据具体情况调整上述步骤和代码。
领取专属 10元无门槛券
手把手带您无忧上云