Es porque esto no es PHP.
Y porque usan un
ORM que se encargue de todo eso.
`manage.py syncdb` crea la db, puedes usar `manage.py sqlall` para ver todo el sql que ejecuta para crear las tablas.
Usar el ORM es bastante fácil y no requieres conocimientos de SQL (pero son preferibles).