Risposte:
Lo sto usando e funziona bene
SELECT * FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_NAME LIKE '%%'
select name
from DBname.sys.tables
where name like '%xxx%'
and is_ms_shipped = 0; -- << comment out if you really want to see them
and is_ms_shipped = 0;
non sembra fare molto
Se si desidera cercare in tutte le tabelle in tutti i database a livello di server e ottenere l'output, è possibile utilizzare la procedura sp_MSforeachdb non documentata :
sp_MSforeachdb 'SELECT "?" AS DB, * FROM [?].sys.tables WHERE name like ''%Table_Names%'''
Suppongo che tu voglia passare il nome del database come parametro e non solo eseguire:
SELECT *
FROM DBName.sys.tables
WHERE Name LIKE '%XXX%'
In tal caso, è possibile utilizzare SQL dinamico per aggiungere il nome db alla query:
DECLARE @DBName NVARCHAR(200) = 'YourDBName',
@TableName NVARCHAR(200) = 'SomeString';
IF NOT EXISTS (SELECT 1 FROM master.sys.databases WHERE Name = @DBName)
BEGIN
PRINT 'DATABASE NOT FOUND';
RETURN;
END;
DECLARE @SQL NVARCHAR(MAX) = ' SELECT Name
FROM ' + QUOTENAME(@DBName) + '.sys.tables
WHERE Name LIKE ''%'' + @Table + ''%''';
EXECUTE SP_EXECUTESQL @SQL, N'@Table NVARCHAR(200)', @TableName;
Puoi anche utilizzare il pulsante Filtro per filtrare le tabelle con una determinata stringa. Puoi fare lo stesso con stored procedure e viste.
Aggiungendo alla risposta di @ [RichardTheKiwi].
Ogni volta che cerco un elenco di tabelle, in generale desidero selezionarle tutte o eliminarle. Di seguito è riportato uno script che genera quegli script per te.
Lo script di selezione generato aggiunge anche una colonna tableName in modo da sapere quale tabella stai guardando:
select 'select ''' + name + ''' as TableName, * from ' + name as SelectTable,
'delete from ' + name as DeleteTable
from sys.tables
where name like '%xxxx%'
and is_ms_shipped = 0;
puoi anche usare il comando show.
show tables like '%tableName%'
Voglio pubblicare una soluzione semplice per ogni schema che hai. Se stai usando MySQL DB, puoi semplicemente ottenere dallo schema tutto il nome della tabella e aggiungere la condizione WHERE-LIKE su di esso. Puoi anche farlo con la solita riga di comando come segue:
SHOW TABLES WHERE tables_in_<your_shcema_name> LIKE '%<table_partial_name>%';
dove tables_in_<your_shcema_name>
restituisce il nome del SHOW TABLES
comando della colonna .