(suponemos que estás usando Mysql como BD?)
mysql_query() sólo ejecuta una sentencia SQL por llamada .. es decir .. Una sentencia SQL es justo hasta el ; (punto y coma) (por si ves un .sql generado con phpMyadmin o similar).
Así que .. sólo tienes que hacer tu mysql_quer() de una tabla (CREATE TABLE .....;) y luego otro mysql_query() de la otra tabla y así sucesivamente ...
También podrías tener un archivo de texto plano/variable con todos tu sentencias SQL con sus separadores de sentencia con su ; y usar la función explode() al caracter ; para generar un array de instrucciones .. las cuales puedes leer con un bucle tipo foreach()
Código PHP:
<?
//conectas a tu BD .. seleccionas la BD ..etc
$sentencias_sql="CREATE table .... ; CREATE table .... ; etc ;";
$sentencias=explode(";",$sentencias_sql);
foreach($sentencias as $sql){
mysql_query($sql);
}
?>
Un saludo,