MySQL笔记-information_schema库中COLUMNS表的一些笔记

mysql建表中可以添加comment,也就是注释,这些注释会写到information_schema库的COLUMNS表中,可以使用如下SQL语句进行查询:

SELECT COLUMN_NAME, COLUMN_COMMENT
FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = 'your_database_name'
  AND TABLE_NAME = 'your_table_name'
  AND COLUMN_NAME = 'your_column_name';

请将your_database_name替换为你的数据库名称,your_table_name替换为你的表名称,以及your_column_name替换为你要查询注释的列名称。

下面来解释下information_schema和information_schema.COLUMNS。

information_schema是MySQL数据库系统中的一个特殊数据库,它包含了关于数据库、表、列、索引、权限等元数据信息的视图和表。它不存储实际的数据,而是提供了一种访问和查询数据库元数据的方式。

information_schema.COLUMNS是information_schema数据库中的一个表,它存储了关于数据库中所有表的列信息。该表包含了以下列:

  • TABLE_SCHEMA:列所属的数据库名称。
  • TABLE_NAME:列所属的表名称。
  • COLUMN_NAME:列的名称。
  • COLUMN_TYPE:列的数据类型。
  • COLUMN_KEY:列是否为主键或唯一键。
  • IS_NULLABLE:列是否允许为空。
  • COLUMN_DEFAULT:列的默认值。
  • EXTRA:列的附加信息。
  • COLUMN_COMMENT:列的注释信息。

通过查询information_schema.COLUMNS表,你可以获取关于数据库中表的列的详细信息,例如列名、数据类型、是否为主键、是否允许为空等。这对于进行数据库元数据分析和查询非常有用。

另外是关于权限方面的问题:

在MySQL中,information_schema数据库中的元数据信息是对所有用户可见的,包括管理员用户和普通用户。因此,普通用户也可以查询information_schema数据库中的表和视图,包括COLUMNS表。

然而,普通用户只能查询与其有关的数据库和表的元数据信息,而无法查询其他用户的数据库和表的元数据信息。管理员用户具有更高的权限,可以查询所有数据库和表的元数据信息。

所以,虽然普通用户可以查询information_schema数据库,但是他们只能访问与其相关的数据库和表的元数据信息。

你可能感兴趣的:(SQL,mysql,笔记,数据库)