Mysql-查询数据库和表信息以及批处理模式下使用mysql

查询数据库和表信息

如果您忘记了数据库或表的名称,或者给定表的结构是什么,该怎么办? MySQL通过一些语句来解决此问题,这些语句提供有关它支持的数据库和表的信息。
之前已经看过SHOW DATABASES,其中列出了服务器管理的数据库。 要找出当前选择的数据库,使用DATABASE函数

查询数据库信息和使用数据库

mysql>show databases;

在这里插入图片描述
使用database查询当前使用的数据库

mysql>select database();

在这里插入图片描述
如果尚未选择任何数据库,则结果为NULL

查询使用数据库中的表列表

使用show tables语句查询数据库中的数据表列表

mysql>show tables;

在这里插入图片描述
该语句产生的输出中的列名称始终为Tables_in_db_name,其中db_name是数据库的名称。

查询指定数据表的详细信息

使用DESCRIBE或者DESC查询数据表信息

mysql>describe|desc t_test;

在这里插入图片描述
Field指示列名,Type是列的数据类型,NULL指示列是否可以包含NULL值,Key指示列是否被索引,Default指示列的默认值。 Extra显示有关列的特殊信息:如果使用AUTO_INCREMENT选项创建了列,则该值为auto_increment而不是空。

查询数据表创建语句

使用show create table 语句查询

mysql>show create table t_test;

在这里插入图片描述

查询表中创建索引

使用SHOW INDEX FROM tbl_name会生成有关它们的信息

mysql>show index from t_test;

在这里插入图片描述
返回说明t_test表中没有创建索引。

批处理模式下使用mysql

交互式地使用mysql输入语句并查看结果。还可以以批处理模式运行mysql。为此,将想要运行的语句放在一个文件中,然后告诉mysql从该文件读取它的输入

shell>mysql < batch-file

如果在Windows下运行mysql并在文件中包含一些导致问题的特殊字符,则可以执行以下操作

C:\> mysql -e "source batch-file"

如果需要在命令行上指定连接参数,则命令可能如下所示:

shell> mysql -h 127.0.0.1-u root-p < batch-file
Enter password: ********

如果希望脚本继续运行,即使其中的某些语句产生错误,则应使用–force命令行选项

为什么要使用脚本?

原因如下:

  • 如果重复运行查询(例如每天或每周),将其设置为脚本可以避免每次执行时都重新键入查询。
  • 可以通过复制和编辑脚本文件从相似的现有查询中生成新查询。
  • 在开发查询时,批处理模式也很有用,尤其是对于多行语句或多语句序列。 如果输入有误,则无需重新输入所有内容。 只需编辑脚本以纠正错误,然后告诉mysql重新执行即可。
  • 如果查询产生大量输出,则可以通过寻呼机运行输出,而不用看着它滚动到屏幕顶部:
shell>mysql < batch-file | more
  • 可以将输出捕获到文件中以进行进一步处理:
shell> mysql < batch-file > mysql.out
  • 可以将脚本分发给其他人,以便他们也可以运行语句。
  • 某些情况不允许交互使用.例如,当从cron作业运行查询时, 在这种情况下,必须使用批处理模式。

当以批处理方式运行mysql时,默认输出格式与交互使用时不同(更为简洁)。
如果要以批处理方式获取交互式输出格式,使用mysql -t。 要将执行的语句回显到输出,使用mysql -v
也可以通过使用source命令或.在mysql提示符下使用脚本。 命令:

mysql> source filename;
mysql> \. filename
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值