obtener - pivot en mysql
MySql: muestra columnas pero excluye todo excepto los nombres de campo (6)
Aunque parece más elegante, no necesitas awk para esto. La tabla information_schema.columns de MySQL tiene la información que necesita.
- DESCRIBA EL CUADRO DE LA CUADRO COMPLETO ''table_name'' en la base de datos ''database_name''
SHOW COLUMNS
FROM database_name.table_name ;
- MOSTRAR SOLO LOS NOMBRES DE COLUMNA para la tabla ''table_name'' en la base de datos ''database_name''.
SELECT column_name
FROM information_schema.columns
WHERE table_schema = ''database_name''
AND table_name = ''table_name'' ;
Me gustaría colocar los nombres de campo de una tabla de MySql en python, y sé que
''show columns from project''
trabajará. Y leí que puede agregar ''DONDE ...'' para restringirlo solo a ciertos campos. Pero no puedo encontrar un ejemplo de cómo devolver solo los nombres de las columnas, y no información Tipo, Clave, Nula, Extra.
¿Cuál es el criterio coincidente para extraer todos los nombres de campo de las columnas y ninguna de las otras descripciones?
Pipe la respuesta a awk:
SHOW columns FROM project; | awk ''{ print $1 }''
Puede consultar la base de datos del esquema de information_schema
de MySQL directamente para los nombres de campo:
select distinct(COLUMN_NAME) from information_schema.COLUMNS where TABLE_NAME=''posts'';
Si tu objetivo es una lista delimitada por comas (no muy alfabetizado en Python, pero eso es lo que más te gustaría en PHP y Perl) GROUP_CONCAT es tu amigo:
SELECT GROUP_CONCAT(column_name) FROM information_schema.columns WHERE table_name=''your-table-name-here'' GROUP BY TABLE_NAME ORDER BY ORDINAL_POSITION
Si los necesita, esto le da a todos, EXCEPTO las citas más externas:
SELECT GROUP_CONCAT(column_name SEPARATOR ''","'') FROM information_schema.columns WHERE table_name=''your-table-name-here'' GROUP BY TABLE_NAME ORDER BY ORDINAL_POSITION
SELECT column_name
FROM information_schema.columns
WHERE table_name = ''your_table''
AND table_schema = ''database_name''
SHOW COLUMNS FROM `table_name`
Esta consulta de MySQL funcionará mejor, mostrará todos los campos de una tabla de MySQL.