phpMyAdmin
 sql >> Base de données >  >> Database Tools >> phpMyAdmin

sélectionner à partir de mysql db avec 300 tables en utilisant un préfixe par défaut

Je regarderais dans une classe pour faire une abstraction de requête simple ou une sorte de bibliothèque ORM qui fait cela. Un échantillon serait comme ça.

class Query {
    function from($tbl){
        return new Table($tbl);
    }
}
class Table {
    var $prefix = 'PBN_';
    var $tblname = '';

    function Table($name){
        $this->tblname = $this->prefix.$name;
    }
    function select($cols, $where = false, $order = false, $limit = false){
        $query = "SELECT {$cols} FROM {$this->tblname}";
        if($where) $query .= " WHERE ".$where; //add where
        if($order) $query .= " ORDER BY ".$order; //add order
        if($limit) $query .= " LIMIT ".$limit; //add limit
        return $query;
    }
}

$q = new Query;
$results = mysql_query($q->from('products')->select('*'));

Ceci est évidemment loin d'être complet ou sécurisé. Juste un exemple de la façon dont une classe d'abstraction pourrait accélérer votre sql et vous faire vos préfixes pour vous.