栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

Python数据库学习pymysql、pyodbc,access数据转换到 mysql

Python数据库学习pymysql、pyodbc,access数据转换到 mysql

本片文章承接上一篇文章,代码基本与上篇差不多,上片是先把access里面的表在mysql里面建立好这篇文章主要是将数准换到mysql里面,下面的代码需要配合上篇文章一起使用,不过改动一下也可以独立的转数据。

import pyodbc
import pymysql
#创建access数据库库连接
DBfile = r"C:/Users/22248/Desktop/原始数据库/AdventureWorks2008.mdb"  # 数据库文件
conn_A = pyodbc.connect(r"DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=" + DBfile + ";Uid=;Pwd=;")
cursor_A = conn_A.cursor()
#创建mysql数据库连接
conn_M = pymysql.connect(
    host='localhost',
    user='root',
    passwd='xxx',#输入自己的mysql密码
    port=3306,
    db='work2009',
    charset='utf8'
)
cursor_M = conn_M.cursor(pymysql.cursors.DictCursor)
#准备3个容器
tables = []
fields = []
field_str = []
#获取所有表名
for table_info in cursor_A.tables(tableType='TABLE'):
    tables.append(table_info.table_name)
#遍历所有表名
for table in tables:
    for row in cursor_A.columns(table):
        fields.append(row.column_name)
    #进行sql语句拼接
    f = ','.join(fields)
    s = ','.join(['%s' for i in range(len(fields))])
    sql = f'insert into {table}({f}) values({s})'
    SQL = f"SELECt * from {table};"
    # print(sql)
    # print(SQL)
    #获取到表的数据
    for row in cursor_A.execute(SQL):
        field_str.append(row)
    cursor_M.executemany(sql, field_str)  # 传入多条数据
    conn_M.commit()  # 提交更改

    fields.clear()
    field_str.clear()
cursor_A.close()
conn_A.close()
cursor_M.close()  # 游标关闭
conn_M.close()

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/303970.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号