-- 数据库, 表名、表备注、字段名称、字段类型、字段备注
SELECT DISTINCT
t.TABLE_SCHEMA,
t.TABLE_NAME,
t.TABLE_COMMENT,
c.COLUMN_NAME,
c.COLUMN_TYPE,
c.COLUMN_COMMENT,
c.CHARACTER_MAXIMUM_LENGTH
FROM
information_schema.`COLUMNS` c,
information_schema.`TABLES` t
WHERE
c.TABLE_NAME = t.TABLE_NAME
AND t.TABLE_SCHEMA = '数据库名称' -- 数据库
and COLUMN_NAME = '字段名称' -- 字段名称
;
-- 拼接sql 语句
SELECT CONCAT("alter table ",t.TABLE_NAME," modify column ",c.COLUMN_NAME," varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '", c.COLUMN_COMMENT,"';")
FROM
information_schema.`COLUMNS` c,
information_schema.`TABLES` t
WHERE
c.TABLE_NAME = t.TABLE_NAME
AND t.TABLE_SCHEMA = 'zc_trade_purchase'
and COLUMN_NAME = 'supplier_name'
and t.TABLE_NAME in(
"表名1",
"表名2"
)
;
查询mysql 数据库 所有表和字段信息
于 2022-11-28 16:21:19 首次发布
本文探讨了如何通过SQL查询获取特定数据库(如jxcc_trade_purchase)中指定字段(如supplier_name)的详细信息,包括表名、表注释、字段名、类型和注释,并演示了如何构造ALTER TABLE语句来修改字段类型为VARCHAR并设置字符长度和默认值。涉及到了数据库结构管理和SQL操作技巧。
3491

被折叠的 条评论
为什么被折叠?



