ric*_*ich 11 mysql sql sql-order-by
我需要在特定的表中找到列,这没有问题:
SHOW COLUMNS FROM tablename LIKE '%ColumnPrefix%';
Run Code Online (Sandbox Code Playgroud)
但是我需要知道它们将被返回的顺序,最好选择按字母顺序排序结果.我没有运气使用ORDER BY.
有任何想法吗?
Mar*_*ers 15
您可以查询表INFORMATION_SCHEMA.COLUMNS以获取SHOW COLUMNS提供给您的信息,此外它还允许您使用ORDER BY或您可能想要使用的任何其他SQL语法:
SELECT COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_name = 'tablename'
AND column_name LIKE 'ColumnPrefix%'
ORDER BY column_name
Run Code Online (Sandbox Code Playgroud)
由于我遇到了完全相同的问题,我将完成Mark的回答.以下是"从表中显示列"查询的确切长版本:
SELECT
`column_name` AS `Field`,
`column_type` AS `Type`,
`is_nullable` AS `Null`,
`column_key` AS `Key`,
`column_default` AS `Default`,
`extra` AS `Extra`
FROM
`information_schema`.`columns`
WHERE
`table_name`='mytable';
Run Code Online (Sandbox Code Playgroud)
使用此查询,您可以通过添加ORDER BY来按顺序排序结果.