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