在mysql信息\u架构中找不到表详细信息
我正在做一项作业,我应该在“空白”数据库的信息模式中找到所有的表。我可以在MySQL或PostgreSQL中实现这一点。我选择了MySQL。因此,我确定了所有表格:在mysql信息\u架构中找不到表详细信息,mysql,information-schema,Mysql,Information Schema,我正在做一项作业,我应该在“空白”数据库的信息模式中找到所有的表。我可以在MySQL或PostgreSQL中实现这一点。我选择了MySQL。因此,我确定了所有表格: 字符集 校勘 排序规则\字符\集合\适用性 纵队 列(u)特权 指数统计 键\u列\u用法 轮廓 例行程序 图式 模式特权 统计数字 桌子 表4.1.1.1约束条件 表4.1.1特权 表11统计数字 触发 用户权限 观点 现在,我必须找到关于这些表的详细信息。例如,主键定义、表列、外键、触发器操作等 然而,我遇到的问题是,这些表中没
我误解了吗?或者这些信息可以在任何地方找到吗?非常感谢您的帮助。您是否尝试过命令
descripe table代码>
如果有主键,您将看到
+-------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| name | varchar(128) | NO | | NULL | |
+-------+--------------+------+-----+---------+----------------+
您应该查看表\u约束
SELECT `table_name`, `constraint_name`, `constraint_type`
FROM `information_schema`.`table_constraints`
WHERE `table_schema` = 'yourdbname';
这将获得约束名称和类型。如果您想了解更多详细信息,您需要加入key\u column\u usage
SELECT c.`table_schema`, c.`table_name`, c.`constraint_name`,
c.`constraint_type`, GROUP_CONCAT(k.`column_name` ORDER BY `ordinal_position`) AS 'constraint columns',
CONCAT(k.`referenced_table_name`, '(', GROUP_CONCAT(`referenced_column_name` ORDER BY `position_in_unique_constraint`),')') AS 'references'
FROM `information_schema`.`table_constraints` c
JOIN `information_schema`.`key_column_usage` k USING (`constraint_name`, `table_name`)
WHERE c.`table_schema` = 'yourdbname'
GROUP BY `table_schema`,`table_name`,`constraint_name`,`constraint_type`,`referenced_table_name`;
那么就没有主键了。这不是一个好主意,但它是可能的。