毕业证书查询系统Access .mdb转 Mysql .sql数据库

作者 :
免费
  • 正文
  • 最近将学校旧版本毕业证书查询系统asp+access开发的毕业证书查询系统,转换为php+mysql原生开发的毕业证书查询系统,先将access .mdb转换为.sql,这个数库量有3万条数据。

    用python写的转换代码:

    import pyodbc
    def convert_access_table_to_mysql(access_db, table_name, output_sql_file, database_name):
        # 连接 Access 数据库
        conn_str = r'DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=' + access_db
        access_conn = pyodbc.connect(conn_str)
        cursor = access_conn.cursor()
        with open(output_sql_file, 'w', encoding='utf-8') as f:
            # 在文件开头添加 USE 数据库的语句
            f.write(f'USE {database_name};\n\n')
            # 获取指定表的结构
            cursor.execute(f'SELECT * FROM {table_name}')
            columns = [column[0] for column in cursor.description]
            # 创建 MySQL 表的 SQL 语句
            create_table_sql = f'CREATE TABLE {table_name} (\n'
            for column in cursor.description:
                col_name = column[0]
                col_type = column[1]
                mysql_type = 'TEXT'  # 默认为 TEXT
                if col_type == pyodbc.SQL_INTEGER:
                    mysql_type = 'INT'
                elif col_type == pyodbc.SQL_VARCHAR:
                    mysql_type = 'VARCHAR(255)'
                create_table_sql += f'    {col_name} {mysql_type},\n'
            create_table_sql = create_table_sql.rstrip(',\n') + '\n);\n\n'
            f.write(create_table_sql)
            # 导出数据
            cursor.execute(f'SELECT * FROM {table_name}')
            for row in cursor.fetchall():
                # 处理 ID 字段,确保它是整数类型
                values = []
                for idx, value in enumerate(row):
                    # 检查 ID 字段
                    if columns[idx] == 'ID' and value is not None:
                        value = str(int(value))  # 强制转换为整数
                    elif value is not None:
                        value = f'"{str(value)}"'  # 将其他字段作为字符串处理
                    else:
                        value = 'NULL'
                    values.append(value)
                column_names = ', '.join(columns)
                insert_sql = f'INSERT INTO {table_name} ({column_names}) VALUES ({", ".join(values)});\n'
                f.write(insert_sql)
            f.write('\n')
        cursor.close()
        access_conn.close()
        print(f'转换完成,SQL 语句已保存至 {output_sql_file}')
    # 使用示例
    convert_access_table_to_mysql(r'C:\\Users\\Administrator\\Desktop\\zhengshu.mdb', 'XcUserInfo', r'C:\\Users\\Administrator\\Desktop\\zhengshu.sql', '数据库名字')

    #这里只从.mdb转了一个表到.sql里。

    1、要安装access驱动,https://www.microsoft.com/zh-tw/download/details.aspx?id=54920

    (确保已经安装了 Microsoft Access ODBC 驱动程序。可以按照以下步骤检查:

    1. 打开 控制面板 > 管理工具 > ODBC 数据源管理器
    2. 系统 DSN用户 DSN 标签页中,确认是否存在 Microsoft Access Driver (*.mdb, *.accdb) 驱动程序。)

    2、https://pypi.org/project/PyMySQL/#files  安装.whl文件 pip install pymysql.whl文件

    3、https://pypi.org/project/pyodbc/#files 选择当前python版本,支持.whl文件

    毕业证书查询系统Access .mdb转 Mysql .sql数据库-完美源码毕业证书查询系统Access .mdb转 Mysql .sql数据库-完美源码

    毕业证书查询系统Access .mdb转 Mysql .sql数据库-完美源码

     

    END
    如本资源侵犯了您的权益,请联系投诉邮箱admin@wmphp.com进行举报!我们将在收到邮件的1个小时内处理完毕。 本站仅为平台,发布的资源均为用户投稿或转载!所有资源仅供参考学习使用,请在下载后的24小时内删除,禁止商用! Wmphp.com(完美源码)助力正版,如您有自己的原创产品,可以联系客服投稿,代理出售! Wmphp.com(完美源码)客服QQ:136882447 Wmphp.com(完美源码)商务电话(仅对企业客户/个人用户):15120086569 (微信同步) 请注意:本站不提供任何免费的技术咨询服务,为了节约时间,下载前 请确认自己会技术
    完美源码 » 毕业证书查询系统Access .mdb转 Mysql .sql数据库
    3832+

    本站勉强运行

    43682+

    用户总数

    696+

    资源总数

    0+

    今日更新

    2025-3-19

    最后更新时间