• 0
  • 0

数据库复制备份表

2021-03-16 727 0 admin 所属分类:Mysql

 复制的SQL语句

CREATE TABLE your_table20210313  SELECT * FROM `your_table`

获取匹配的前缀表 (包含)

show TABLES LIKE 'your_table%'

获取匹配的前缀表 (不包含)

show TABLES LIKE 'your_table_%'

删除数据表

Drop TABLE your_table_bak
/**
    备份原有的数据表 按年月日存储
 */
function bak_table($table_name) {
    $tables = [];
    foreach (fetch_all("show TABLES") as $v) {
        $tables = array_merge($tables,array_values($v));
    }

    if (!in_array($table_name,$tables)) {
        fail('数据表不存在于数据库,请检查');
    }

    $backtable = $table_name . date('Ymd');

    query("CREATE TABLE `{$backtable}`  SELECT * FROM `{$table_name}`");
}

// 获取已被复制的数据表列表
function get_bak_tables($table_name) {
    $tables = [];
    $table_name = addslashes($table_name);
    foreach (fetch_all("show TABLES LIKE '{$table_name}_%' ") as $v) {
        $tables = array_merge($tables,array_values($v));
    }
    return $tables;
}


返回顶部