实用技巧

pbootcms亲测 SQLite 转 MySQL 纯净版下载 php文件 一键运行 免费下载

2026-04-23 18:24:39 一秒互联 99 次阅读 SQLite,SQLite转mysql,pb插件,数据库转换,免费下载

SQLite 转 MySQL 数据库转换工具 插件描述

简介

轻量单文件 PHP 工具,无需安装复杂软件,一键将 SQLite (.db) 数据库文件无损转换为 MySQL 标准 SQL 导入文件,自动适配字段类型、主键自增、数据表结构,完美兼容宝塔面板、phpMyAdmin 数据库迁移使用。

运行环境

  • PHP 版本:PHP 7.0 ~ PHP 8.3

  • 必备扩展:PDO、PDO_SQLite

  • 运行平台:宝塔 Linux 面板、Windows php 环境、本地 PHP 网站环境

  • 文件权限:755

功能特点

  1. 全自动解析 SQLite 数据表结构、字段类型、主键索引

  2. 智能适配 MySQL 字段格式,INT/TEXT/DATE/BLOB 类型自动转换

  3. 完整导出表结构 + 全部数据,数据零丢失、中文不乱码

  4. 生成标准纯净 SQL 文件,phpMyAdmin 直接导入可用

  5. 无需数据库连接、无需账号权限,上传.db 文件即可转换

  6. 单文件绿色插件,无冗余依赖,解压即用不占用服务器资源

  7. 使用方法
    将工具上传至网站目录,浏览器访问运行
    上传本地 SQLite .db 数据库文件
    在线一键转换,下载生成 MySQL 数据库 SQL 文件
    打开 phpMyAdmin,先选中目标数据库,导入 SQL 文件即可完成迁移
    适用场景
    小程序数据库迁移、本地.db 项目搬迁、CMS 数据库格式转换、站点数据迁移、轻量化数据库格式互通转换

适用场景

小程序数据库迁移、本地.db 项目搬迁、CMS 数据库格式转换、站点数据迁移、轻量化数据库格式互通转换

 

复制以下代码
保存到服务器 命名 mysql.php

前端访问:域名/mysql.php  上传  点击开始转换  下载转换好的mysql文件 打开phpmyadmin上传即可

 一、支持的 PHP 版本

✅ PHP 7.0 ~ PHP 8.3 全部完美运行

二、必须开启的 2 个扩展(宝塔默认都开了)

  1. PDO

  2. PDO_SQLite

99% 的宝塔环境 默认已经开启,不用你动!


如果你宝塔里不知道怎么看

我告诉你 3 秒检查:

  1. 宝塔 → 软件商店 → 找到你的 PHP → 设置

  2. 点 安装扩展

  3. 看里面有没有:

    • pdo

    • pdo_sqlite

有这两个就能 100% 运行!

pbootcms亲测 SQLite 转 MySQL 纯净版下载 php文件 一键运行 免费

<?php
/*
 * SQLite 转 MySQL 纯净版
 * 一秒互联公司 www.yimiaonet.com
 * 先选库再导入 = 100%不报错
 */
error_reporting(0);
set_time_limit(300);
header('Content-Type:text/html;charset=utf-8');

$msg = '';

if ($_POST@['action'] == 'convert') {
    $dbFile = $_FILES['dbfile']['tmp_name'];

    if (!$dbFile) {
        $msg = '<span style="color:red">请上传 .db 数据库文件</span>';
    } else {
        try {
            $pdo = new PDO("sqlite:$dbFile");
            $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

            $tables = $pdo->query("SELECT name FROM sqlite_master WHERE type='table' AND name NOT LIKE 'sqlite_%'")->fetchAll(PDO::FETCH_COLUMN);

            $sql = "-- SQLite to MySQL
";
            $sql .= "-- 时间:".date('Y-m-d H:i:s')."

";

            foreach ($tables as $table) {
                $cols = $pdo->query("PRAGMA table_info(`$table`)")->fetchAll(PDO::FETCH_ASSOC);

                $sql .= "DROP TABLE IF EXISTS `$table`;
";
                $sql .= "CREATE TABLE `$table` (
";

                $fields = [];
                foreach ($cols as $c) {
                    $name = $c['name'];
                    $type = strtoupper($c['type']);
                    $notnull = $c['notnull'];
                    $pk = $c['pk'];

                    if (strpos($type, 'INT') !== false) $mt = 'INT';
                    elseif (strpos($type, 'TEXT') !== false) $mt = 'LONGTEXT';
                    elseif (strpos($type, 'BLOB') !== false) $mt = 'LONGBLOB';
                    elseif (strpos($type, 'REAL') !== false || strpos($type, 'FLOAT') !== false) $mt = 'FLOAT';
                    elseif (strpos($type, 'DOUBLE') !== false) $mt = 'DOUBLE';
                    elseif (strpos($type, 'DATE') !== false || strpos($type, 'TIME') !== false) $mt = 'DATETIME';
                    else $mt = 'VARCHAR(255)';

                    $line = "  `$name` $mt";
                    if ($pk) $line .= " PRIMARY KEY AUTO_INCREMENT";
                    elseif ($notnull) $line .= " NOT NULL";
                    $fields[] = $line;
                }

                $sql .= implode(",
", $fields);
                $sql .= "
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

";

                $rows = $pdo->query("SELECT * FROM `$table`")->fetchAll(PDO::FETCH_ASSOC);
                $colNames = array_column($cols, 'name');

                foreach ($rows as $row) {
                    $vals = [];
                    foreach ($colNames as $k) {
                        $v = $row[$k];
                        if ($v === null) $vals[] = 'NULL';
                        elseif (is_int($v) || is_float($v)) $vals[] = $v;
                        else $vals[] = "'".str_replace("'", "''", $v)."'";
                    }
                    $sql .= "INSERT INTO `$table` (`".implode('`,`',$colNames)."`) VALUES (".implode(',',$vals).");
";
                }
                $sql .= "
";
            }

            $out = 'mysql_ok.sql';
            file_put_contents($out, $sql);
            $msg = '<span style="color:green">✅ 转换成功!<a href="'.$out.'" download>点我下载SQL</a></span>';
        } catch (Exception $e) {
            $msg = '<span style="color:red">❌ 错误:'.$e->getMessage().'</span>';
        }
    }
}
?>

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>SQLite转MySQL 纯净版</title>
<style>
*{box-sizing:border-box}
body{background:#f6f8fa;padding:40px 20px;font-family:Microsoft YaHei}
.main{max-width:500px;margin:0 auto;background:#fff;padding:30px;border-radius:16px}
h2{text-align:center;color:#333}
input,button{width:100%;padding:12px;margin:8px 0;border-radius:8px;border:1px solid #ddd}
button{background:#007bff;color:white;font-size:16px}
.msg{padding:12px;text-align:center;border-radius:8px}
</style>
</head>
<body>
<div>
    <h2>SQLite 转 MySQL 工具</h2>
    <?php if($msg) echo '<div>'.$msg.'</div>'; ?>
    <form method="post" enctype="multipart/form-data">
        <input type="hidden" name="action" value="convert">
        <input type="file" name="dbfile" accept=".db" required>
        <button type="submit">开始转换</button>
    </form>
    <br>
    <div style="color:red;font-size:14px">
    ✅ 使用说明:<br>
    1. 转换后下载 sql 文件<br>
    2. 打开 phpMyAdmin <strong>先点左边选中你的库</strong><br>
    3. 再导入,100%不报错
    4.一秒互联公司版权所有
    5.免费分享
    </div>
</div>
</body>
</html>


最后更新:2026-04-23 18:24:39
字数:约 {content:wordcount} 字
本文网址:https://gyl.yimiaonet.cn
上一篇 没有了!
下一篇 点可云V8开发手册
开源
产品
免费开源 · 立即下载
获取
报价
1对1定制 · 精准报价
在线客服
电话客服
扫码咨询
微信扫码咨询
微信二维码

微信号:diycloud

加入社群

开源产品中心

免费下载 · 开源可商用 · 社区长期维护

ERP进销存系统 V6

全开源无加密,企业商用无忧

免费下载

Vue 前端组件库

Vue3+TS 精美UI开箱即用

免费使用

API接口开发工具

后端接口封装,快速二次开发

查看详情

后台管理系统模板

极简UI架构,适配各类管理项目

免费商用

所有开源产品均可无限制商用,定制开发请联系专属客服

一站式企业数字化报价咨询

无论您是什么项目,均可免费咨询 · 一对一精准评估报价

承接全行业各类软件开发、系统定制、网站搭建、小程序、AI应用、平台开发、管理系统 不限行业、不限模式、不限需求复杂度,均可对接咨询
免费需求梳理 & 项目方案规划
无套路明细报价,全程无隐形消费
资深技术团队对接,按需灵活定制
合同标准化交付,售后长期技术保障
立即电话咨询报价
陌生项目、特殊需求、非标定制,欢迎放心咨询

随时联系我们

企业数字化服务 · 7×12小时在线支持

快速响应 专业顾问 正规合作流程
微信咨询

扫码添加专属客服

diycloud
微信二维码
电话咨询
400-716-8908

工作时间:9:00 - 21:00

您的信息仅用于服务沟通,全程保密

开源产品
获取报价
在线客服
加入社群