SALVATOR:
TL;DR: Což by se dít *nemělo* - ale občas se to děje, když tu aplikaci napíše nemyslící hovado.
Má to skutečně smazat _celou_ databázi, ta úvodní registračka by tam ani být nemusela; je to útok zvaný SQL Injection.
Příklad hovadného kódu v PHP (protože to je pověstné vysokým obsahem nemyslících hovad ve vývojářské populaci):
$sql = "INSERT INTO `tablice` SET `spz`='" . $prectena_spz . "'"; // obsah promenne $prectena_spz dostaneme odnekud zvenku
// v $sql je ted neco na zpusob "INSERT INTO `tablice` SET `spz`='
DW 350GS'" neboli jeden SQL prikaz
mysql_query($sql); // vlozime ji do databaze, hotovo!
Nezvýrazněná část je natvrdo v kódu, zvýrazněná přišla "od uživatele."
Zatím dobrý - ale počítá s tím, že v proměnné $prectena_spz budou jenom znaky, které se v SPZ vyskytují - a-z,0-9, možná pomlčka nebo mezera. Ale co když nám někdo pošle neočekávaná data? Třeba to "ZU 066'; DROP DATABASE tablice; -- lol pwned"? Program to vezme a bez dalšího to nacpe do toho stringu nahoře, jako obvykle.
// v promenne $sql je ted neco na zpusob "INSERT INTO `tablice` SET `spz`='
ZU 066'; DROP DATABASE tablice; -- lol pwned';"
Co se tu stalo: vstupní data obsahovala řídící znaky - jmenovitě apostrof, ukončující string, a středník, ukončující příkaz. Místo jednoho příkazu tu teď máme *tři*, oddělené středníky: zmanipulovaný INSERT, za ním příkaz ke smazání databáze "tablice", a na konci komentář ( "--" v SQL znamená "ignoruj všechno až do konce řádky", a je tam, aby ten konec příkazu, který do aplikace napsal autor, nevyhodil chybu).
No a následující mysql_query() vykoná ty příkazy všechny tři (fskužečnosti je to komplikovanější, ale vůči pointě irelevantní), čili napřed vloží nějaká data, pak smaže tabulku, a nakonec udělá nic (to je ta --poznámka).
(Pochopitelně ten bug lze vyvolat i neúmyslně - v jedné firmě se tomu říkalo "Chief O'Brien is not amused," neboť takový středník ten SQL příkaz úplně rozbil, což většinou vyvolalo kaskádu dalších veselých efektů.)