我有一个名为bbs的数据库,它有37个表.我想找到这些表中列名长度大于5的所有列!
mysql> show tables;
+---------------------+
| Tables_in_rails_bb |
+---------------------+
| articles |
| articles_categories |
| bookmarks |
| categories |
| comments |
| drafts |
| extension_groups |
| extensions |
| forum_tracks |
| forums |
| icon_items |
| icons |
| levels |
| management_groups |
| management_logs |
| message_folders |
| message_tos |
| messages |
| moderators |
| posts |
| replies |
| reports |
| roles |
| roles_users |
| schema_migrations |
| sessions |
| smiles |
| subscribes |
| system_configs |
| topic_tracks |
| topics |
| upload_files |
| users |
| users_forums |
| users_topics |
| warnings |
| word_replacements |
+---------------------+
37 rows in set (0.25 sec)
怎么写sql?
解决方法:
这里你唯一要改变的是数据库的名称(Table_Name,Column_Name是固定的).试试这个:
SELECT Table_Name, Column_Name
FROM information_schema.columns
WHERE table_schema = 'databaseName' -- <= Database Name Here
HAVING CHAR_LENGTH(COLUMN_NAME) > 5
ORDER BY Table_Name, Column_Name
或者您也可以选择所有字段
SELECT *
FROM information_schema.columns
WHERE table_schema = 'databaseName' -- <= Database Name Here
HAVING CHAR_LENGTH(COLUMN_NAME) > 5
ORDER BY Table_Name, Column_Name
标签:mysql,sql,schema
来源: https://codeday.me/bug/20190626/1292020.html