En MySQL, sé que puedo enumerar las tablas en una base de datos con:
SHOW TABLES
Sin embargo, quiero insertar estos nombres de tabla en otra tabla, por ejemplo:
INSERT INTO metadata(table_name) SHOW TABLES /* does not work */
¿Hay alguna manera de obtener los nombres de las tablas usando una instrucción SELECT estándar, algo así como:
INSERT INTO metadata(table_name) SELECT name FROM table_names /* what should table_names be? */
Respuestas:
Para obtener el nombre de todas las tablas use:
Para obtener el nombre de las tablas de una base de datos específica, use:
Ahora, para responder la pregunta original, use esta consulta:
Para más detalles ver: http://dev.mysql.com/doc/refman/5.0/en/information-schema.html
fuente
Tratar:
Ver: http://dev.mysql.com/doc/refman/5.0/en/information-schema.html
fuente
sqlite_master
si tenemos varias bases de datos y necesitamos seleccionar todas las tablas para una base de datos particular, podemos usar
TABLE_SCHEMA
para definir el nombre de la base de datos como:select table_name from information_schema.tables where TABLE_SCHEMA='dbname';
fuente
Además de usar la tabla INFORMATION_SCHEMA, para usar SHOW TABLES para insertar en una tabla, usaría lo siguiente
fuente
Echa un vistazo a la tabla
TABLES
en la base de datosinformation_schema
. Contiene información sobre las tablas en sus otras bases de datos. Pero si estás en un alojamiento compartido, probablemente no tengas acceso a él.fuente
Creo que puede obtener los datos que desea de INFORMATION_SCHEMA TABLES.
Puede encontrar más información aquí: http://dev.mysql.com/doc/refman/5.0/en/tables-table.html
fuente
fuente
La
INFORMATION_SCHEMA.TABLES
tabla MySQL contiene datos sobre ambas tablas (no temporales sino permanentes) y vistas. La columnaTABLE_TYPE
define si se trata de un registro para tabla o vista (para tablasTABLE_TYPE='BASE TABLE'
y vistasTABLE_TYPE='VIEW'
). Entonces, si desea ver desde sus tablas de esquema (base de datos) solo existe la siguiente consulta:fuente
Creo que puede ser útil señalar que si desea seleccionar tablas que contengan palabras específicas, puede hacerlo fácilmente usando
SELECT
(en lugar deSHOW
). La consulta a continuación reduce fácilmente la búsqueda a tablas que contienen "palabra clave"fuente
Hay otra forma más simple de obtener nombres de tablas
fuente
Esta consulta a continuación funcionó para mí. Esto puede mostrar las bases de datos, tablas, nombres de columnas, tipos de datos y recuento de columnas.
fuente
Para insertar, actualizar y eliminar, haga lo siguiente:
fuente