MySQL - 字段定义

标签 mysql

有没有办法将数据库查询的结果与多个带有字段定义的结果连接起来?像:

SELECT  COLUMN_NAME 
       , DATA_TYPE 
       , CHARACTER_MAXIMUM_LENGTH 
       , NUMERIC_PRECISION 
       , NUMERIC_SCALE 
       , EXTRA 
       , COLUMN_KEY 
       , COLUMN_DEFAULT 
       , IS_NULLABLE 
 FROM    INFORMATION_SCHEMA.COLUMNS 
 WHERE   table_name = 'TABLE_NAME' 
         AND TABLE_SCHEMA = 'DATA_BASE_NAME';

当一张 table 很简单时。问题是当查询涉及多个表时。

编辑:抱歉我输入了错误的 SQL

最佳答案

更新

当 table 很简单时。问题是当查询涉及多个表时。因此,您正在寻找如何检索某个数据库中的所有表。我对吗?

那么,你为什么不试试这个呢? (删除了一些列以缩短答案):

SELECT  TABLE_NAME
   , COLUMN_NAME 
   , ORDINAL_POSITION
   , DATA_TYPE
   , IS_NULLABLE 
FROM    INFORMATION_SCHEMA.COLUMNS 
WHERE   TABLE_SCHEMA = 'jsheo_test'
ORDER BY TABLE_NAME, ORDINAL_POSITION;

我在您的查询中添加了 ORDINAL_POSITION 以正确显示列在表中的位置。其输出如下:

+------------+-------------+------------------+-----------+-------------+
| TABLE_NAME | COLUMN_NAME | ORDINAL_POSITION | DATA_TYPE | IS_NULLABLE |
+------------+-------------+------------------+-----------+-------------+
| a          | a           |                1 | int       | YES         |
| b          | a           |                1 | int       | YES         |
| test       | name        |                1 | varchar   | YES         |
| test       | age         |                2 | int       | YES         |
| test       | spent       |                3 | int       | YES         |
| test       | gender      |                4 | char      | YES         |
+------------+-------------+------------------+-----------+-------------+

原始。回答

抱歉。我无法理解你的问题。下面的查询始终返回“数据库”(即使删除了 DISTINCT。仅生成一行)。 1 个表的相同列名不能超过 1 个。

SELECT DISTINCT TABLE_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE COLUMN_NAME = 'unique'
AND TABLE_NAME = 'database';

你在找这个吗?

SELECT DISTINCT TABLE_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE COLUMN_NAME = 'unique'
    AND TABLE_SCHEMA = 'database'

关于MySQL - 字段定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20217452/

相关文章:

具有多对多关系的 MySQL SELECT 查询

php - 无法在虚拟机上运行 magento

python - 在 Mysql 过程中循环遍历字符串

php - 在php中注册用户?

PHP+MySql : select row by like ( with and without space )

php - 加速非常慢的 PHP 脚本生成大型 JSON 数组的速度

php - 使用 php 将嵌套 JSON 导入到具有关系的 MySQL

python - 如何获取某些国家的城市列表?

mysql - 从每个商店的产品价格表中获取产品的最低价格

MySQL - 连接和计算另一个表中的行