sql >> Databáze >  >> RDS >> Mysql

python mysql načítací dotaz

To mate asi každého, kdo pracuje s MySQLDB. Předáváte argumenty funkci provádění, neprovádíte náhradu řetězce python. %s v řetězci dotazu se používá spíše jako připravený příkaz než jako náhrada řetězce python. To také zabraňuje vkládání SQL, protože MySQLDB udělá únik za vás. Jak jste to měli dříve (pomocí % a substituce řetězců), jste zranitelní vůči injekci.

  1. Nepoužívejte uvozovky. MySQLDB je tam umístí (v případě potřeby).
  2. Použijte , namísto %. Opět předáváte n-tici jako argument funkci provádění.

    self.dbc.execute("vyberte * z auta, kde reg=%s" , (reg,))



  1. jak vypsat výsledek dotazu mysql v konkrétní sekvenci?

  2. LINQ to SQL každý N-tý řádek z tabulky

  3. 2 způsoby převodu na velká písmena v Oracle

  4. Porovnání data a času MySQL s předchozím řádkem