MySQL 基础教程-08 查询数据库和表信息

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL 基础教程-08 查询数据库和表信息相关的知识,希望对你有一定的参考价值。

1.获取数据库和表信息

如果忘记了数据库或表的名称,或者忘记了给定表的结构(例如它的列名),该怎么办?mysql提供了语句来查询数据库和表的信息。

您以前见过SHOW DATABASES,它列出了由服务器管理的数据库。要查出当前选择的数据库,请使用DATABASE()函数:

技术图片

如果还未选定任何数据库,查询结果为NULL。
要了解当前数据库包含哪些表(例如,当您不确定表的名称时),请使用以下语句:
技术图片

此语句查询结果中的列名始终是Tables_in_db_name,其中db_name是数据库的名称。
如果要查表结构,请使用DESCRIBE语句;它会显示表的每个字段的信息:
技术图片

Field 表示列名,Type 表示列的数据类型,NULL 表示列是否可以包含空值,Key 表示列是否被索引,Default 表示列的默认值。Extra显示有关列的特殊信息:如果使用AUTO_INCREMENT选项创建列,则该值将是 auto_increment 而不是空。
如果表上有索引,SHOW INDEX FROM tbl_name将查出有关索引的信息。

2.在批处理模式下使用mysql

在前面的介绍中,我们是交互式的使用mysql输入语句并查看结果。除了这种方式,我们还可以在批处理模式下运行mysql。为此,请将要运行的语句放在文件中,然后告诉mysql从文件中读取其输入:

技术图片

如果在Windows操作系统下运行mysql,并且文件中有一些会引发问题的特殊字符,则可以执行以下操作:

技术图片

如果需要在命令行指定参数,格式如下:

技术图片

如果脚本中的某些语句执行时出错了,但是你仍然想要继续执行的话,应该使用 --force 命令行选项。
下面说一些有时候需要使用脚本的理由:
● 如果您反复运行查询(例如,每天或每周),将其设置为脚本可以避免每次执行时都重新输入。
●通过复制和编辑脚本文件,可以从现有的类似查询生成新查询。
● 在开发查询时,批处理模式也很有用,特别是对于多行语句或多语句序列。如果犯了错误,不必全部重新输入,只需编辑脚本来更正错误,然后告诉mysql再次执行它。
● 如果查询产生大量输出,则可以通过分页功能控制输出,而不是看着它从屏幕顶部快速划过:

技术图片

● 当然也可以将输出结果存到文件以便进一步处理:

技术图片
●也可以将脚本分发给其他人,以便他们也可以执行语句。
●有些情况下不允许出现交互,例如,当您从cron作业执行查询时,在这种情况下,必须使用批处理模式。

在批处理模式下运行mysql时,默认输出格式与以交互方式使用时不同(更简洁)。例如,当mysql以交互方式运行时,SELECT DISTINCT species FROM pet的输出如下所示:

技术图片

在批处理模式下,输出类似如下所示:

技术图片

如果要在批处理模式下获得交互式输出格式,请使用mysql -t。要将执行的语句回送到输出,请使用mysql -v。
也可以在mysql 提示符下使用 source或 . 命令运行脚本:

技术图片

以上是关于MySQL 基础教程-08 查询数据库和表信息的主要内容,如果未能解决你的问题,请参考以下文章

mysql常用基础操作语法--对数据的简单无条件查询及库和表查询命令行模式

MySQL基础教程DDL语句详细介绍

MySql基础教程——查询训练

带你了解MySQL数据库的基础操作及用户管理!

MySQL:基础知识+数据类型+数据库的和表的创建查看删除

SQLAlchemy教程-第一章-基础模型