數(shù)據(jù)庫備份與恢復,那還怕什么刪庫跑路?
瀏覽量: 次 發(fā)布日期:2023-10-09 22:38:30
數(shù)據(jù)庫備份與恢復,那還怕什么刪庫跑路?
今天是劉小愛自學Java的第63天。
感謝你的觀看,謝謝你。
話不多說,繼續(xù)數(shù)據(jù)庫的學習:
三天前學習了數(shù)據(jù)庫的增刪改查。
其中對于drop+database+數(shù)據(jù)庫名這個命令記憶尤深,也聽教程里的老師再三囑咐用這個命令要切記謹慎處理,否則是要負刑事責任的。
畢竟互聯(lián)網(wǎng)公司,最重要的也就是數(shù)據(jù)了。
今年年初的時候微盟就發(fā)生過程序員刪庫跑路事件,所以也一直銘記在心。
結(jié)果今天告訴我數(shù)據(jù)庫是可以備份和恢復的?
也就是說刪除了還是可以恢復的呀,既然如此那還怕什么刪庫跑路……
①數(shù)據(jù)庫備份
將數(shù)據(jù)庫student備份到test文件夾下student.sql文件里面。注意test文件夾要存在,不然會報錯。
語法:mysqldump -u 用戶名 -p 數(shù)據(jù)庫名 > 磁盤SQL文件路徑
dump,轉(zhuǎn)出、轉(zhuǎn)儲的意思,mysqldump也就可以理解成數(shù)據(jù)庫備份。
由于mysqldump命令不是sql命令,需要在DOS窗口下使用。
我暈,昨天才剛說用了可視化工具Navicat,再也不用在DOS窗口下輸入命令行了。結(jié)果又啪啪打自己的臉……
②數(shù)據(jù)庫恢復方案一
這個很簡單,就是將備份中的>改成<就好了,只是箭頭的方向不同,也好理解。
語法:mysqldump -u 用戶名 -p 數(shù)據(jù)庫名 < 磁盤SQL文件路徑
將備份的文件導入到我自己的數(shù)據(jù)庫里面,同樣的道理,該命令也是需要在DOS窗口下使用。
③數(shù)據(jù)庫恢復方案二
該方案是SQL語句,是在數(shù)據(jù)庫中操作,命令如下:source+磁盤SQL文件路徑
source,根源的意思。
表與表之間一共有三種關(guān)系,如下圖:
①1對多
一個部門有多個成員,一個成員只屬于一個部門,所以是1對多。
②多對多
一個程序員會開發(fā)多個項目,一個項目會被多個程序員開發(fā),所以是多對多。
這種情況據(jù)說在外包公司中很常見……
③1對1
一個丈夫只能有一個妻子,一個妻子只能有一個丈夫,所以是1對1。
其中又以一對多和多對多最常見。
以上述部門和成員的關(guān)系作為例子:
①部門表
一共有三個部門,每個部門有自己對應的id。
那如何將這兩張表聯(lián)系起來?
如果是在部門表加入成員表的id,那一行需要添加多個數(shù)據(jù),顯然不行。
②成員表
一共有七個成員。
那如何將這兩張表聯(lián)系起來?
每個成員后面添加一個屬性,也就是自己對應的部門id,這樣就一目了然。
那么現(xiàn)在問題來了:
這只是在成員表中做了一個聲明,實際上這兩張表并沒有關(guān)聯(lián)起來。
具體什么意思呢?
簡單地理解就是:假如將部門表中的某個部門是刪除的,但是成員表中的數(shù)據(jù)還有這個部門。
想要解決這個問題,就要引用外鍵約束這個概念,將這兩張表真真正正地關(guān)聯(lián)起來。
如何添加外鍵約束?
鎮(zhèn)江數(shù)據(jù)恢復①建表后添加外鍵約束
foreign key即為外鍵的意思。
references,參考的意思,這里可以理解成關(guān)聯(lián)。
也就是說把成員表中的dept_id作為外鍵,同時與部門表中的id相關(guān)聯(lián)。
這樣的話,你想刪除部門表中的某個部門,得保證成員表中沒有該部門的成員。
②建表時添加外鍵約束
一般來說,會在建表的時候就添加外鍵,格式是一樣的。
其中:部門表(1對多中的1)也叫主表。成員表(1對多中的多)也叫從表。
也就是說想要刪除主表中的數(shù)據(jù),必須保證從表中和其相關(guān)的數(shù)據(jù)不存在。
浦東數(shù)據(jù)恢復其中一對一表設(shè)計和一對多是很相似的,就是任意一張表將另外一張表的id作為外鍵就可以了。
操作起來很簡單,并且一般應用以一對多和多對多為主,在此就不再贅述了。
程序員表和項目表便是多對多的關(guān)系。
寫sql語句創(chuàng)建表和添加數(shù)據(jù),也算是對這幾天學的知識點做一個復習。
①創(chuàng)建程序員表對表本身的操作,所以有table這個單詞。
create table coder(表字段說明)。
其中里面表字段之間使用逗號隔開的,最后一個字段又沒有逗號。
我用的分號然后一直報錯,弄了半天才發(fā)現(xiàn)這個問題,感覺要被自己蠢瘋了。②創(chuàng)建項目表
格式同上。
③給程序員表添加數(shù)據(jù)
insert into+表名+values+(每列對應的值);
這是將列名省略了的寫法,列名省略了之后再賦值時,每列都得賦值。
④給項目表添加數(shù)據(jù)
格式同上。
那么在多對多的表中是怎么將兩張表關(guān)聯(lián)起來的?
無錫數(shù)據(jù)恢復創(chuàng)建一個中間表,將這兩個表關(guān)聯(lián)起來。中間表表名一般會將這兩個表名結(jié)合起來,見名知意。中間表有兩個外鍵。外鍵分別對應兩張表中的主鍵。
這樣的話,這兩張表也就被關(guān)聯(lián)起來了。
謝謝你的觀看。
. 設(shè)計一個圖書管理系統(tǒng)數(shù)據(jù)庫,圖書管理系統(tǒng)數(shù)據(jù)庫設(shè)計
. oracle證書,開啟數(shù)據(jù)庫專業(yè)之旅的鑰匙
. 超融合數(shù)據(jù)備份,構(gòu)建企業(yè)數(shù)據(jù)安全的堅實防線
. 超融合設(shè)備主要涉及哪些模塊,揭秘其主要涉及的模塊與功能
. oracle歸檔日志設(shè)置,Oracle數(shù)據(jù)庫歸檔日志設(shè)置詳解
. 數(shù)據(jù)庫修復,數(shù)據(jù)庫修復的重要性
. sql數(shù)據(jù)庫顯示可疑,原因分析與解決方法
. 恢復硬盤數(shù)據(jù)大概要多久,全面解析與準備
. 移動硬盤數(shù)據(jù)恢復的可能性大嗎,移動硬盤數(shù)據(jù)恢復的可能性大嗎?全面解析與建議
. 超融合設(shè)備主要涉及哪些模塊,揭秘其主要涉及的模塊與功能
. oracle drop表數(shù)據(jù)恢復,Oracle數(shù)據(jù)庫中drop表數(shù)據(jù)恢復方法詳解
. 超融合數(shù)據(jù)庫好用嗎,超融合數(shù)據(jù)庫好用嗎?——深度解析其優(yōu)勢與適用場景
. 融合硬盤好不好,性能與穩(wěn)定性的完美結(jié)合
. 防火墻硬盤數(shù)據(jù)恢復,全方位解析與操作指南
. 北京電腦恢復硬盤數(shù)據(jù),專業(yè)服務與恢復技巧全解析
. 北京硬盤恢復哪家比較好,北京硬盤數(shù)據(jù)恢復哪家比較好?專業(yè)機構(gòu)推薦與選擇指南
. 數(shù)據(jù)庫數(shù)字類型怎么設(shè)置,數(shù)據(jù)庫數(shù)字類型設(shè)置指南