Skip to content

一个便捷的MySQL导入导出的助手类库。 a mysql import and export helper library.

License

Notifications You must be signed in to change notification settings

zjkal/mysql-helper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


MysqlHelper

中文 | English

License PHP Version Require Latest Stable Version Total Downloads GitHub Workflow Status

MysqlHelper 是一个便捷的通过PHP导入和导出Mysql数据库表结构和数据的工具,可以快速实现mysql的数据库的导入和导出.

🧩特性

  • 简单易用: 仅依赖mysqlli扩展,开箱即用
  • 灵活操作: 兼容主流框架,使用更方便
  • 长期维护: 作者为自由职业者,保证项目的长期稳定持续更新

🚀安装

通过Composer导入类库

composer require zjkal/mysql-helper

🌈使用文档

1. 实例化

方式一: 常规方法

use zjkal\MysqlHelper;

$mysql = new MysqlHelper('root', 'root', 'testdatabase', '127.0.0.1', '3306', 'utf8mb4', 'wp_');

方式二: 实例化后,通过setConfig方法设置数据库配置

$mysql = new MysqlHelper();
$mysql->setConfig(['username' => 'root', 'password' => 'root', 'database' => 'testdatabase']);

MysqlHelper针对常用的框架做了兼容,可以直接使用框架的数据库配置, 比如ThinkPHP框架或Laravel框架

$mysql = new MysqlHelper();
$config = config('database.connections.mysql');
$mysql->setConfig($config);

2. 导出数据

  • 如果实例化时, 已经设置了表前缀,导出的表名可以不用带前缀
//导出数据库(包含表结构和数据)
$mysql->exportSqlFile('test.sql');

//仅导出数据库表结构
$mysql->exportSqlFile('test.sql', false);

//导出指定表的结构和数据
$mysql->exportSqlFile('test.sql', true, ['table1', 'table2']);

3. 导入数据

  • sql文件中的表前缀需要使用__PREFIX__占位符代替
  • 如果实例化时,已经设置了表前缀,则可以不用传入第二个参数
//导入数据库
$mysql->importSqlFile('test.sql');

//导入数据库,并自动替换表前缀
$mysql->importSqlFile('test.sql', 'wp_');

📃更新日志

v1.0.4 2024年4月19日

  • 优化了.sql文件中注释的过滤规则

v1.0.3 2023年12月9日

  • 实例化时如果已经设置了表前缀,导出的表名可以不包含前缀

v1.0.2 2023年9月23日

  • 增加了数据导出的稳定性

v1.0.1 2023年9月10日

  • 修复了在Thinkphp框架下端口识别错误的BUG
  • 增加了导入的稳定性

v1.0.0 2023年9月2日

  • 首次发布

🐧QQ频道

📖开源协议

MysqlHelper遵循MIT开源协议, 意味着您无需任何授权, 即可免费将MysqlHelper应用到您的项目中