最近的项目,项目要求使用 MSSQL,我之前使用的都是MYSQL。对MSSQL只是了解,所以要使用MSSQL顿时蒙了,便开始请求百度,Stack Overflow和各大博客网,始终未找到案例,十分难受,然后上谷歌搜索找到了,找到一位博主十年前(2010年)自己写的案例脚本。但是他的脚本和我所需的内容不太符合,最后决定自己写适合的脚本(改写TP5第三方适用MYSQL的扩展)。
引入第三方扩展的教程 :TP5框架下实现数据库的备份功能-tp5er/tp5-databackup
备份与还原的基本步骤:
一、备份数据库的内容是生成的数据表的语句,语句内容主要包含是创建表,和插入表的内容。
简要步骤如下:
1.获取数据库的所有的表
SELECT Name FROM 数据库名..SysObjects Where XType='U' ORDER BY Name
2.获取所有表对应的所有字段和相关属性
SELECT c.TABLE_SCHEMA ,
c.TABLE_NAME ,
c.COLUMN_NAME ,
c.DATA_TYPE ,
c.CHARACTER_MAXIMUM_LENGTH ,
c.COLUMN_DEFAULT ,
c.IS_NULLABLE ,
c.NUMERIC_PRECISION ,
c.NUMERIC_SCALE
FROM [INFORMATION_SCHEMA].[COLUMNS] c
WHERE TABLE_NAME = '数据库表名'
3.获取所有表对应的表内容
$data = $this->pdo->query("SELECT * FROM {$table}");
$str = "/* SQL SERVER Separation */"."\nSET NOCOUNT ON \n";
if