aha ok, warum wegen der angreifbarkeit der daten oder warum?
Nicht nur. Ich vergleiche es mal mit PostgreSQL, nachfolgend PG:
MySQL hat Probleme mit der Sprache SQL. Manche Dinge werden zwar akzeptiert, aber falsch gemacht. So z.B. inline definierte foreign keys oder Check-Constraints. Die kann man gemäß der SQL-Spec definieren, es kommt auch kein Fehler. Nur wirken sie nicht. An anderen Stellen kommen keine Fehler, wo echte Syntaxfehler bestehen. Beispiel: Aggregatfunktionen und GROUP BY. Lies mal hier:
http://www.php.de/datenbanken/103488-count-bringt-leere-zeile.html . PG handelt strict nach der SQL-Spec, MySQL ist davon Lichtjahre entfernt.
Datentypen kennt MySQL nur sehr wenige. In PG gibt es diese massig und es ist erweiterbar. Siehe
http://www.postgresql.org/docs/9.3/interactive/datatype.html . Da sind so Dinge wie XML und JSON dabei, aber auch RANGE-Typen. Durch Extensions gibt es auch z.B. EAN-Codes, ISBN-Nummern etc. So richtig massiv wird es in PostGIS, wo man faktisch in 4 Dimensionen arbeiten kann: x, y, Höhe und z.B. Zeit. Tracking von Geokoordinaten wird so erst richtig machbar.
MySQL hat nur rudimentäre Möglichkeiten der internen Programmierung. In PG kannst Du intern in vielen Programmiersprachen (pl/pgsql, PERL, PYTHON) und so weiter arbeiten. Auch hier: erweiterbar. Wir haben einen Kunden, der hat faktisch seine ganze Geschäftslogig innerhalb der DB abgebildet. Sehr cool, weil sehr schnell und konsistent.
MySQL unterstützt nur einen Index pro Table und Abfrage. PG hat einen kostenbasierten Optimizer, kann beliebig viele Indexe pro Table & Abfrage nutzen. Richtig sichtbar wird das, wenn man Performance-Analyse mit Explain machen will.
MySQL kann sehr viele analytische Abfragen nicht. PG hat das ganze Spektrum von Window-Funktionen, es kann gruppenweise aggregieren, es kann rekursive Abfragen und so weiter. Viele komplexe Analysen bauen darauf auf, mit MySQL stehst da im Regen.
MySQL hat viele Engines (MyISAM, InnoDB, Blackhole). Keine kann alles. MyISAM kann keine Transactions und arbeitet mit massiven tablelocks. InnoDB kann kein Fulltext (erst seit 5.6), Blackhole speichert zwar sehr schnell, hat aber massive Datenverluste beim Select.
Einfach nur ein wildes Chaos. PG ist aus einem Guß und kann mehr als alle MySQL-Engines zusammen.
MySQL gehört zu Oracle. Oracle hat eine eigene DB, mit der sie reich geworden sind. Nur ganz naive hoffen, daß Oracle noch viel in MySQL investieren wird, um sich eine kostenfreie Konkurrenz seines Kernproduktes zu schaffen. PG ist zu Oracle zumindest auf Augenhöhe.
Das waren nur wenige Dinge. Das geht z.B. mit Datenintegrität weiter. MySQL und Zeichensätze - ein Dilemma. MySQL prüft keine Eingaben - man kann nicht vorhandene Datumsangaben als DATE speichern. Einfach nur FAIL. PG im Vergleich dazu funktioniert einfach. Und das sehr gut!
Und ja: ich könnte das noch episch fortsetzen...