掌握資料庫操作:索引、視圖、備份和恢復

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學習者快速成長!