mysql问题
SELECT`COLUMN_NAME`
`COLUMN_COMMENT`
`DATA_TYPE`
CASE
WHEN `DATA_TYPE` IN ('char', 'varchar') THEN CHARACTER_MAXIMUM_LENGTH
WHEN `DATA_TYPE` IN ('decimal', 'numeric') THEN NUMERIC_PRECISION
ELSE NULL
END
CASE
WHEN `DATA_TYPE` IN ('decimal', 'numeric') THEN NUMERIC_SCALE
ELSE 0
END
FROM `INFORMATION_SCHEMA`.`COLUMNS`
代码之中
`INFORMATION_SCHEMA`.`COLUMNS`
是sql什么用法啊
我上网搜索不知道在那里学习
mysql问题
SELECT
`COLUMN_NAME`
`COLUMN_COMMENT`
`DATA_TYPE`
CASE
WHEN `DATA_TYPE` IN ('char', 'varchar') THEN CHARACTER_MAXIMUM_LENGTH
WHEN `DATA_TYPE` IN ('decimal', 'numeric') THEN NUMERIC_PRECISION
ELSE NULL
END
CASE
WHEN `DATA_TYPE` IN ('decimal', 'numeric') THEN NUMERIC_SCALE
ELSE 0
END
FROM `INFORMATION_SCHEMA`.`COLUMNS`
代码之中
`INFORMATION_SCHEMA`.`COLUMNS`
是sql什么用法啊
我上网搜索不知道在那里学习
你好!INFORMATION_SCHEMA.COLUMNS 是 MySQL 中的一个系统视图(表),它存储了数据库中所有表的列信息(元数据)。简单来说,通过查询它,你可以获取到某个表有哪些列、每列的数据类型、注释等详细信息。
在你提供的 SQL 语句中,目的是从该视图查询列名、注释、数据类型,并根据数据类型计算长度或精度。不过,你的 SQL 有几处语法错误,我修正如下:
SELECT
`COLUMN_NAME`,
`COLUMN_COMMENT`,
`DATA_TYPE`,
CASE
WHEN `DATA_TYPE` IN ('char', 'varchar') THEN CHARACTER_MAXIMUM_LENGTH
WHEN `DATA_TYPE` IN ('decimal', 'numeric') THEN NUMERIC_PRECISION
ELSE NULL
END AS '长度/精度',
CASE
WHEN `DATA_TYPE` IN ('decimal', 'numeric') THEN NUMERIC_SCALE
ELSE 0
END AS '小数位数'
FROM `INFORMATION_SCHEMA`.`COLUMNS`
WHERE `TABLE_SCHEMA` = '你的数据库名' AND `TABLE_NAME` = '你的表名';
主要修正:
[*] 添加了逗号分隔各列。
[*] 为两个 CASE 表达式添加了别名(AS)。
[*] 增加了 WHERE 条件,用于指定数据库和表名,否则会返回所有数据库的所有列,数据量巨大。
关于如何学习 INFORMATION_SCHEMA:
[*] 官方文档:最权威的学习资料是 MySQL 官方手册。你可以搜索“MySQL INFORMATION_SCHEMA COLUMNS”来找到官方文档页面,其中详细介绍了这个视图包含哪些字段以及含义。
[*] 实践查询:直接在 MySQL 中运行 DESC INFORMATION_SCHEMA.COLUMNS; 或 SELECT * FROM INFORMATION_SCHEMA.COLUMNS LIMIT 1; 来查看它的结构。
[*] 书籍和教程:许多 SQL 或 MySQL 的书籍和在线教程中,都会有“元数据查询”或“系统表”相关章节,里面会介绍 INFORMATION_SCHEMA。
[*] 社区和论坛:像 FishC 这样的技术社区,有很多讨论和示例可以参考。
简单来说,INFORMATION_SCHEMA 是 MySQL 提供的一个信息数据库,用于查询数据库、表、列、权限等元数据信息,是进行数据库管理和维护的重要工具。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 INFORMATION_SCHEMA.COLUMNS
是数据库自带的系统视图,用来查询表结构本身,而不是业务数据。
相当于用 SQL 读取数据库的“说明书”,例如:
[*]有哪些表
[*]表里有哪些字段
[*]字段类型、长度、精度、注释
这段 SQL 的作用就下面这几个。
根据字段类型:
[*]varchar / char → 取字符长度
[*]decimal / numeric → 取精度和小数位
本质是字段元数据分析。
怎么学?
直接搜这些关键词:
[*]MySQL INFORMATION_SCHEMA
[*]INFORMATION_SCHEMA COLUMNS
[*]MySQL metadata
官方文档就是最好的教材。
总之就是:
[*]INFORMATION_SCHEMA 是数据库提供的“结构数据库”,
[*]COLUMNS 是所有表的字段信息集合。
评论区聊聊你的想法吧{:10_330:}
https://xxx.ilovefishc.com/forum/202505/12/120451wiv7viv5iebupbbr.png
>>万能兑换C币许愿池<<
如果有收获,别忘了评分{:10_281:} :
https://xxx.ilovefishc.com/forum/202011/20/092334ggd6inlzfisfrdir.png.thumb.jpg
https://xxx.ilovefishc.com/forum/202505/21/111710rvxgdn90vaub5gag.gif
页:
[1]