如何在mysql控制台中查看数据库表

1、打开命令行,在命令行中输入mysql,然后回车,打开mysql命令。
需要注意的是,区分大小写,Mysql不能输入。
2、输入命令后,就可以使用use命令来访问我们想要显示的数据库了。
例如usetest(test是数据库名)3、更改数据库后,我们可以显示该数据库的表数据。
可以通过select语句查询数组数据,但需要注意的是,每条语句必须以分号结束,否则会被视为语句尚未完成。
我会等待贡献。
4、以分号结束语句后,按回车键即可获取表中查询的数据。

如何查看mysql数据库操作记录日志?

有时候我们不小心更新了一个大表,比如我们写错了where条件...

如果这时候杀掉update线程,然后重置undolog,会需要一段时间而很多时间。
如果你不管它,你将不知道更新需要多长时间。

能否了解更新进度?

实验

我们首先创建一个测试数据库:

创建快速获取一些数据:

连续多次运行同一条SQL,快速创建千万级数据:

检查总行数:

让我们进行一次大更新发布:

然后启动另一个会话,观察performance_schema中的信息:

可以看到,列出的performance_schema表示SQL当前从引擎接收的行数。

SQL执行完毕后,我们看一下更新从引擎接收了多少行:

可以看到更新的总行数。
引擎收到的更新是表大小的两倍,那么我们可以估计:更新进度=(rows_examined)/(2*行数TableRows)

💡提示

Information_schema.tables提供了对表行数的估计,其成本比使用要低得多selectcount(1)并且几乎可以忽略不计。

那么对于所有更新,引擎接收到的行数会是表大小的两倍吗?这个还是需要具体情况具体讨论。
上面的SQL更新主键。
如果我们只更新内容而不更新主键会怎样?我们来尝试一下:

等待更新完成,检查row_examined,看看它是否正好是表格的大小:

那我们该怎么办?确切的倍数是多少?

一种方法是依靠经验:update语句扫描了多少行,主键是否改变,唯一键是否改变,根据这些条件估计系数。

另一种方法是在相同结构的较小表上尝试并获得倍数。

这使我们能够准确评估重大更新的进度。