掌握数据库操作:索引、视图、备份和恢复

PHPz
发布: 2024-08-17 22:31:39
原创
397 人浏览过

介绍

Mastering Database Operations: Index, View, Backup, and Recovery

在本实验中,我们将学习和练习索引、视图、备份和恢复。这些概念对于数据库管理员来说非常重要。

学习目标

  • 创建索引
  • 创建视图
  • 备份与恢复

准备

开始之前,我们需要准备好环境。

启动MySQL服务并以root身份登录。

雷雷

加载文件中的数据。需要在MySQL控制台输入命令来构建数据库:

雷雷

指数

索引是与表相关的结构。它的作用相当于一本书的目录。您可以根据目录中的页码快速找到内容

当你要查询一张记录数量较多的表,并且该表没有索引时,那么会拉出所有记录一一匹配搜索条件,并返回符合条件的记录。非常耗时,导致大量的磁盘I/O操作。

如果表中存在索引,那么我们可以通过索引值快速找到表中的数据,从而大大加快查询过程。

有两种方法可以为特定列设置索引:

雷雷

让我们使用这两条语句来构建索引。

在employee表的id列建立idx_id索引:

雷雷

在employee表的name列建立idx_name索引

雷雷

我们使用索引来加速查询过程。当没有足够的数据时,我们将无法感受到它的神奇力量。这里我们使用命令SHOW INDEX FROM table name来查看我们刚刚创建的索引

雷雷 雷雷

当我们使用SELECT语句查询时,WHERE条件会自动判断是否存在索引。

看法

视图是从一个或多个表派生的虚拟表。它就像一个窗口,通过它人们可以查看系统提供的特殊数据,从而不必查看数据库中的全部数据。他们可以专注于他们感兴趣的事情。

如何解释“View是一个虚拟表”?

  • 数据库中只存储View的定义,而其数据存储在原表中;
  • 当我们使用View查询数据时,数据库会相应地从原表中提取数据。
  • 由于View中的数据取决于原始表中存储的内容,因此一旦表中的数据发生变化,我们在View中看到的内容也会发生变化。
  • 将 View 视为表格。

创建View时使用的语句格式:

雷雷

从语句中我们可以看到后半部分是一条SELECT语句,这意味着View也可以建立在多个表上。我们需要做的就是在 SELECT 语句中使用子查询或 join 。

现在让我们创建一个名为v_emp的简单视图,其中包含三列v_namev_agev_phone:

雷雷

然后输入

雷雷 雷雷

备份

出于安全考虑,备份在数据库管理中极其重要。

导出文件仅保存数据库中的数据,而备份将整个数据库结构(包括数据、约束、索引、视图等)保存到新文件。

mysqldump是MySQL中用于备份的实用程序。它生成一个 SQL 脚本文件,其中包含从头开始重新创建数据库的所有基本命令,例如 CREATE、INSERT 等。

使用mysqldump备份的声明:

雷雷

尝试备份整个数据库mysql_labex。将文件命名为 bak.sql。首先按Ctrl+Z退出MySQL控制台,然后打开终端输入命令:

雷雷

使用命令“ls”,我们会看到备份文件bak.sql;

雷雷 雷雷

恢复

在本实验的前面,我们练习了使用备份文件来恢复数据库。我们使用了类似这样的命令:

雷雷

此语句从 import-database.txt 文件恢复 mysql_labex 数据库。

还有另一种方法来恢复数据库,但在此之前,我们需要先创建一个名为 test的空数据库:
雷雷 雷雷

Ctrl+Z退出MySQL。恢复bak.sql测试数据库:
雷雷

我们可以通过输入命令查看测试数据库中的表来确认恢复是否成功:


mysql -u root USE test SHOW TABLES
登录后复制
MariaDB [(none)]> USE test; Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed MariaDB [test]> SHOW TABLES; +----------------+ | Tables_in_test | +----------------+ | department | | employee | | project | | table_1 | +----------------+ 4 rows in set (0.000 sec)
登录后复制

We can see that the 4 tables have already been recovered to the test database.

Summary

Congratulations! You've completed the lab on other basic operations in MySQL. You've learned how to create indexes, views, and how to backup and recover a database.


? Practice Now: Other Basic Operations


Want to Learn More?

  • ? Learn the latest MySQL Skill Trees
  • ? Read More MySQL Tutorials
  • ? Join our Discord or tweet us @WeAreLabEx

以上是掌握数据库操作:索引、视图、备份和恢复的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:dev.to
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!