information_schema.schemata_information theory

information_schema.schemata_information theory1.INFORMATION_SCHEMA简介INFORMATION_SCHEMA提供对数据库元数据的访问,有关MySQL服务器信息,例如数据库或表的名称,列的数据类型或访问权限。INFORMATION_SCHEMA使用说明字符集注意事项INFORMATION_SCHEMA作为SHOW语句的替代INFORMATION_SCHEMA和特权性能注意事项1.1INFOR…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

1. INFORMATION_SCHEMA简介

INFORMATION_SCHEMA提供对数据库元数据的访问,有关MySQL服务器信息,例如数据库或表的名称,列的数据类型或访问权限。

  • INFORMATION_SCHEMA使用说明

  • 字符集注意事项

  • INFORMATION_SCHEMA作为SHOW语句的替代

  • INFORMATION_SCHEMA和特权

  • 性能注意事项

1.1 INFORMATION_SCHEMA使用说明

INFORMATION_SCHEMA是每个MySQL实例中的数据库,该实例存储有关MySQL服务器维护的所有其他数据库的信息。该 INFORMATION_SCHEMA数据库包含几个只读表。它们实际上是视图,而不是基表,因此没有与它们关联的文件,并且您无法在它们上设置触发器。此外,没有具有该名称的数据库目录。

尽管可以使用USE语句选择INFORMATION_SCHEMA作为缺省数据库,但只能读取表的内容,而不能对它们执行INSERT,UPDATE或DELETE操作。

以下是从INFORMATION_SCHEMA中检索信息的语句示例:

mysql> select table_name,table_type,engine from tables
 where table_schema = 'test'
 order by table_name; +------------+------------+--------+
| table_name | table_type | engine | +------------+------------+--------+
| account    | BASE TABLE | InnoDB |
| t          | BASE TABLE | InnoDB |
| t1 | BASE TABLE | InnoDB | +------------+------------+--------+
3 rows in set (0.09 sec)

1.2 字符集注意事项

字符列的定义(例如,TABLES.TABLE_NAME)通常是VARCHAR(N)CHARACTER SET utf8,其中N至少为64。MySQL使用此字符集的默认排序规则(utf8_general_ci)进行所有搜索,排序,比较和 这些列上的其他字符串操作。

由于某些MySQL对象可以为文件,因此INFORMATION_SCHEMA字符串列中的搜索可能会受到文件系统区分大小写的影响。

1.3 INFORMATION_SCHEMA作为SHOW语句的替代

SELECT ... FROM INFORMATION_SCHEMA语句旨在提供对MySQL支持的各种SHOW语句(SHOW DATABASES,SHOW TABLES等)提供的信息的访问的更一致的方法。 与SHOW相比,使用SELECT具有以下优点:

  • 它符合Codd的规则,因为所有访问都是在表上完成的。

  • 您可以使用熟悉的SELECT语句语法,只需要了解一些表名和列名。

  • 实现者无需担心添加关键字。

  • 您可以将INFORMATION_SCHEMA查询的结果过滤,排序,连接和转换为应用程序所需的任何格式,例如数据结构或要解析的文本表示。

  • 此技术可与其他数据库系统更具互操作性。 例如,Oracle数据库用户熟悉在Oracle数据字典中查询表。

因为SHOW很熟悉并且被广泛使用,所以SHOW语句仍然是另一种选择。 实际上,随着INFORMATION_SCHEMA的实现,SHOW的增强功能见官方文档

1.4 INFORMATION_SCHEMA和特权

每个MySQL用户都有权访问这些表,但只能看到表中与用户具有适当访问权限的对象相对应的行。 在某些情况下(例如,INFORMATION_SCHEMA ROUTINES表中的ROUTINE_DEFINITION列),权限不足的用户会看到NULL。 这些限制不适用于InnoDB表; 只有PROCESS权限才能看到它们。

相同的权限适用于从INFORMATION_SCHEMA中选择信息并通过SHOW语句查看相同的信息。 在任何一种情况下,您都必须拥有对象的某些权限才能查看有关它的信息。

1.5 性能注意事项

INFORMATION_SCHEMA查询从多个数据库中搜索信息可能需要很长时间并影响性能。 要检查查询的效率,可以使用EXPLAIN。 有关使用EXPLAIN输出调整INFORMATION_SCHEMA查询的信息,请参考“优化INFORMATION_SCHEMA查询”。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/193666.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • lvm snapshot快照原理

    lvm snapshot快照原理

    2021年9月9日
    60
  • 使用vscode编写、运行Python程序[通俗易懂]

    使用vscode编写、运行Python程序[通俗易懂]最近准备推出一系列Python入门、Pytorch深度学习框架入门的文章,主要面向计算机视觉小白。为了给非计算机专业的读者、或者刚入门计算机视觉的读者打好基础,前几天特意写了一篇入门文章,介绍了计算机视觉中一些最基础的概念和名词:Hereisyuquedoccard,clickonthelinktoview:https://www.yuque.com/zhangkai-bazwc/gmeyak/ouxwcg今天主要和大家分享在vscode中编写、运行Python程序的方法,以

    2025年8月11日
    4
  • Centos系统安装图形界面

    Centos系统安装图形界面一、进入root模式二、安装X窗口系统yumgroupinstall”XWindowSystem”下载遇到选择时,选择y。三、检查一下我们已经安装的软件以及可以安装的软件yumgrouplist四、安装图形界面软件GNOMEyumgroupinstall”GNOMEDesktop””GraphicalAdministrationTools”五、通过命令startx进入图形界面,第一次进入会比较慢,请.

    2022年6月8日
    69
  • 4g融合指的是什么_天翼网关3

    4g融合指的是什么_天翼网关3小草科技推出融合通信新产品系列——多网融合多路聚合今天,深圳小草信息科技有限公司发布了系列新产品,以解决当前移动互联网网络不稳定带宽不够、安全性差等问题。智能融合通信将有线与多路无线智能融合成为一路通道,并聚合多个通道形成一个大容量通道,实现大数据在一个聚合通道中的传输。加载自有协议,安全、快速、稳定的传送数据至云端,提供安全稳定的宽带传输通道,确保业务永不中断。1,MNF-410…

    2022年10月3日
    4
  • NumPy 文件存取 tofile,fromfile, load,save

    NumPy 文件存取 tofile,fromfile, load,save

    2020年11月8日
    194
  • Class类的getClassLoader()方法

    Class类的getClassLoader()方法packageminglu;importjava.lang.reflect.InvocationTargetException;importjava.lang.reflect.Method;publicclassHelloWorld{ publicstaticvoidmain(String[]args)throwsInstantiationException,

    2022年5月11日
    61

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号