sql >> Databasteknik >  >> Database Tools >> phpMyAdmin

välj från mysql db med 300 tabeller med ett standardprefix

Jag skulle kolla in en klass för att göra någon enkel frågeabstraktion eller någon form av ORM-lib som gör detta. Ett prov skulle se ut så här.

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('*'));

Detta är uppenbarligen inte i närheten av komplett eller säkert. Bara ett exempel på hur en abstraktionsklass kan snabba upp din sql och göra dina prefix åt dig.



  1. Skapa ny tabell är inte synligt på SSMS 2016 för SQL Server 2008

  2. SQL Query fungerar i Workbench men får felet "Kunde inte konvertera varianttyp" med exakt samma fråga i Delphi

  3. Hur skriver man en lagrad procedur i phpMyAdmin?

  4. hur man inaktiverar fjärrinloggning till phpmyadmin