MySQL迁移SQLite 借助PYTHON脚本

使用 Python 脚本将 MySQL 数据库迁移到 SQLite 是一种灵活且强大的方法。

下面是一个基本的脚本示例,使用 pandassqlite3 库来实现这一过程。

这个脚本假设你已经安装了 pandasmysql-connector-python 库。

步骤

安装必要的库:

如果尚未安装,请使用 pip 安装:

bash 复制代码
pip install pandas mysql-connector-python

Python 脚本:

以下是一个示例脚本,用于从 MySQL 读取数据并将其写入 SQLite:

python 复制代码
import mysql.connector
import sqlite3
import pandas as pd

# 配置 MySQL 连接
mysql_config = {
    'user': 'your_mysql_username',
    'password': 'your_mysql_password',
    'host': 'localhost',
    'database': 'your_mysql_database'
}

# 连接到 MySQL
mysql_conn = mysql.connector.connect(**mysql_config)

# 连接到 SQLite
sqlite_conn = sqlite3.connect('your_sqlite_database.db')

# 获取 MySQL 数据库中的表列表
mysql_cursor = mysql_conn.cursor()
mysql_cursor.execute("SHOW TABLES")
tables = mysql_cursor.fetchall()

for (table_name,) in tables:
    # 从 MySQL 中读取表数据
    query = f"SELECT * FROM {table_name}"
    df = pd.read_sql(query, mysql_conn)
    
    # 将数据写入 SQLite
    df.to_sql(table_name, sqlite_conn, if_exists='replace', index=False)
    print(f"Table {table_name} migrated successfully.")

# 关闭连接
mysql_cursor.close()
mysql_conn.close()
sqlite_conn.close()

说明

MySQL 连接 : 使用 mysql.connector 连接到 MySQL 数据库。需要提供用户名、密码、主机名和数据库名。

SQLite 连接 : 使用 sqlite3 库连接到 SQLite 数据库。指定要存储的 SQLite 数据库文件。

读取和写入数据:

  • 使用 pandas.read_sql() 从 MySQL 数据库中读取数据到 DataFrame。
  • 使用 DataFrame.to_sql() 将数据写入 SQLite 数据库。
    表迁移: 脚本会遍历 MySQL 数据库中的所有表,将每个表的数据迁移到 SQLite。

注意事项

数据类型兼容性: 确保数据类型在 MySQL 和 SQLite 之间的兼容性,尤其是在处理日期、时间和二进制数据时。

索引和约束: 脚本仅迁移数据,不会自动迁移索引和约束。如果需要迁移这些结构,可能需要手动处理。

性能: 对于大型数据库,可以考虑分批次导入数据以避免内存问题。

通过这个脚本,你可以快速将 MySQL 数据迁移到 SQLite,同时还可以根据需要进行定制和扩展。

相关推荐
李妍.1 小时前
02Numpy基础(上)
开发语言·python
TheBestRucy1 小时前
Python 九阳神功之贰:面向对象(下)
开发语言·python
2601_965958462 小时前
口腔黏膜脱皮超2周未愈建议及时就医
人工智能·python
微小冷3 小时前
在不同空间中展示数据(欧式、球面、庞加莱圆盘)
python·双曲空间·微分几何·geomstats·庞加莱圆盘·球面
weixin_431600443 小时前
Agent Workflow 学习向:Code 节点,比模板更强的变量加工
后端·python·学习·ai·
讲温控就好了3 小时前
从医疗影像到能源存储——芯片冷却温控技术的跨行业赋能
人工智能·python·能源
DeepVisionary4 小时前
从 Qwen3.8-27B 把原生多模态、原生 FP8、桌面级 Agent 三件事一次集齐,看开源大模型的“工业化拐点“
python·自动化
固定资产管理系统软件5 小时前
商务局RFID固定资产管理系统的应用价值与落地要点解析
大数据·python
TheBestRucy5 小时前
Python 九阳神功:从零筑基到线程飞升
服务器·开发语言·网络·人工智能·python
lancyu6 小时前
关于多轮对话机器人的上下文Token优化和解决方案
人工智能·python·深度学习·机器学习·chatgpt·机器人·prompt