No.
Con la maggior parte dei DBMS è possibile accedere alle informazioni su tabella e database tramite information_schema , quindi nascondere i nomi delle tabelle non fornisce alcun beneficiare. Anche con quei DBMS che non forniscono queste informazioni, i nomi delle tabelle possono essere bruteforce e altri attacchi possono essere anche possibili (scrittura di file, esecuzione di comandi di sistema, esclusione dell'autenticazione, ecc.).
L'unica difesa adeguata contro SQL Injection sono dichiarazioni preparate. Le autorizzazioni appropriate e il filtro di input ragionevole sono utili come difesa in profondità.
Ma anche come difesa in profondità, i nomi delle tabelle che cambiano frequentemente non sembrano un approccio ragionevole in quanto sono troppi i problemi con troppo poco o niente da guadagnare. Al massimo, potresti prendere in considerazione l'uso di nomi di tabelle non predefiniti o di un prefisso di tabella per evitare un qualche sfruttamento automatico delle vulnerabilità note (ma anche quello è un campo lungo e non vale davvero la pena).