數(shù)據(jù)庫備份與恢復(fù),那還怕什么刪庫跑路?
瀏覽量: 次 發(fā)布日期:2023-10-09 22:38:30
數(shù)據(jù)庫備份與恢復(fù),那還怕什么刪庫跑路?
今天是劉小愛自學(xué)Java的第63天。
感謝你的觀看,謝謝你。
話不多說,繼續(xù)數(shù)據(jù)庫的學(xué)習(xí):
三天前學(xué)習(xí)了數(shù)據(jù)庫的增刪改查。
其中對(duì)于drop+database+數(shù)據(jù)庫名這個(gè)命令記憶尤深,也聽教程里的老師再三囑咐用這個(gè)命令要切記謹(jǐn)慎處理,否則是要負(fù)刑事責(zé)任的。
畢竟互聯(lián)網(wǎng)公司,最重要的也就是數(shù)據(jù)了。
今年年初的時(shí)候微盟就發(fā)生過程序員刪庫跑路事件,所以也一直銘記在心。
結(jié)果今天告訴我數(shù)據(jù)庫是可以備份和恢復(fù)的?
也就是說刪除了還是可以恢復(fù)的呀,既然如此那還怕什么刪庫跑路……
①數(shù)據(jù)庫備份
將數(shù)據(jù)庫student備份到test文件夾下student.sql文件里面。注意test文件夾要存在,不然會(huì)報(bào)錯(cuò)。
語法:mysqldump -u 用戶名 -p 數(shù)據(jù)庫名 > 磁盤SQL文件路徑
dump,轉(zhuǎn)出、轉(zhuǎn)儲(chǔ)的意思,mysqldump也就可以理解成數(shù)據(jù)庫備份。
由于mysqldump命令不是sql命令,需要在DOS窗口下使用。
我暈,昨天才剛說用了可視化工具Navicat,再也不用在DOS窗口下輸入命令行了。結(jié)果又啪啪打自己的臉……
②數(shù)據(jù)庫恢復(fù)方案一
這個(gè)很簡(jiǎn)單,就是將備份中的>改成<就好了,只是箭頭的方向不同,也好理解。
語法:mysqldump -u 用戶名 -p 數(shù)據(jù)庫名 < 磁盤SQL文件路徑
將備份的文件導(dǎo)入到我自己的數(shù)據(jù)庫里面,同樣的道理,該命令也是需要在DOS窗口下使用。
③數(shù)據(jù)庫恢復(fù)方案二
該方案是SQL語句,是在數(shù)據(jù)庫中操作,命令如下:source+磁盤SQL文件路徑
source,根源的意思。
表與表之間一共有三種關(guān)系,如下圖:
①1對(duì)多
一個(gè)部門有多個(gè)成員,一個(gè)成員只屬于一個(gè)部門,所以是1對(duì)多。
②多對(duì)多
一個(gè)程序員會(huì)開發(fā)多個(gè)項(xiàng)目,一個(gè)項(xiàng)目會(huì)被多個(gè)程序員開發(fā),所以是多對(duì)多。
這種情況據(jù)說在外包公司中很常見……
③1對(duì)1
一個(gè)丈夫只能有一個(gè)妻子,一個(gè)妻子只能有一個(gè)丈夫,所以是1對(duì)1。
其中又以一對(duì)多和多對(duì)多最常見。
以上述部門和成員的關(guān)系作為例子:
①部門表
一共有三個(gè)部門,每個(gè)部門有自己對(duì)應(yīng)的id。
那如何將這兩張表聯(lián)系起來?
如果是在部門表加入成員表的id,那一行需要添加多個(gè)數(shù)據(jù),顯然不行。
②成員表
一共有七個(gè)成員。
那如何將這兩張表聯(lián)系起來?
每個(gè)成員后面添加一個(gè)屬性,也就是自己對(duì)應(yīng)的部門id,這樣就一目了然。
那么現(xiàn)在問題來了:
這只是在成員表中做了一個(gè)聲明,實(shí)際上這兩張表并沒有關(guān)聯(lián)起來。
具體什么意思呢?
簡(jiǎn)單地理解就是:假如將部門表中的某個(gè)部門是刪除的,但是成員表中的數(shù)據(jù)還有這個(gè)部門。
想要解決這個(gè)問題,就要引用外鍵約束這個(gè)概念,將這兩張表真真正正地關(guān)聯(lián)起來。
如何添加外鍵約束?
鎮(zhèn)江數(shù)據(jù)恢復(fù)①建表后添加外鍵約束
foreign key即為外鍵的意思。
references,參考的意思,這里可以理解成關(guān)聯(lián)。
也就是說把成員表中的dept_id作為外鍵,同時(shí)與部門表中的id相關(guān)聯(lián)。
這樣的話,你想刪除部門表中的某個(gè)部門,得保證成員表中沒有該部門的成員。
②建表時(shí)添加外鍵約束
一般來說,會(huì)在建表的時(shí)候就添加外鍵,格式是一樣的。
其中:部門表(1對(duì)多中的1)也叫主表。成員表(1對(duì)多中的多)也叫從表。
也就是說想要?jiǎng)h除主表中的數(shù)據(jù),必須保證從表中和其相關(guān)的數(shù)據(jù)不存在。
浦東數(shù)據(jù)恢復(fù)其中一對(duì)一表設(shè)計(jì)和一對(duì)多是很相似的,就是任意一張表將另外一張表的id作為外鍵就可以了。
操作起來很簡(jiǎn)單,并且一般應(yīng)用以一對(duì)多和多對(duì)多為主,在此就不再贅述了。
程序員表和項(xiàng)目表便是多對(duì)多的關(guān)系。
寫sql語句創(chuàng)建表和添加數(shù)據(jù),也算是對(duì)這幾天學(xué)的知識(shí)點(diǎn)做一個(gè)復(fù)習(xí)。
①創(chuàng)建程序員表對(duì)表本身的操作,所以有table這個(gè)單詞。
create table coder(表字段說明)。
其中里面表字段之間使用逗號(hào)隔開的,最后一個(gè)字段又沒有逗號(hào)。
我用的分號(hào)然后一直報(bào)錯(cuò),弄了半天才發(fā)現(xiàn)這個(gè)問題,感覺要被自己蠢瘋了。②創(chuàng)建項(xiàng)目表
格式同上。
③給程序員表添加數(shù)據(jù)
insert into+表名+values+(每列對(duì)應(yīng)的值);
這是將列名省略了的寫法,列名省略了之后再賦值時(shí),每列都得賦值。
④給項(xiàng)目表添加數(shù)據(jù)
格式同上。
那么在多對(duì)多的表中是怎么將兩張表關(guān)聯(lián)起來的?
無錫數(shù)據(jù)恢復(fù)創(chuàng)建一個(gè)中間表,將這兩個(gè)表關(guān)聯(lián)起來。中間表表名一般會(huì)將這兩個(gè)表名結(jié)合起來,見名知意。中間表有兩個(gè)外鍵。外鍵分別對(duì)應(yīng)兩張表中的主鍵。
這樣的話,這兩張表也就被關(guān)聯(lián)起來了。
謝謝你的觀看。
. 達(dá)夢(mèng)數(shù)據(jù)庫重啟,達(dá)夢(mèng)數(shù)據(jù)庫重啟操作指南與注意事項(xiàng)
. 數(shù)據(jù)庫論文參考文獻(xiàn),數(shù)據(jù)庫論文參考文獻(xiàn)綜述
. 硬盤數(shù)據(jù)恢復(fù)建議書,全方位解析與實(shí)用技巧
. oracle11g修復(fù),Oracle 11g TNS-12545錯(cuò)誤排查與修復(fù)指南
. 中毒后硬盤數(shù)據(jù)恢復(fù)價(jià)格,價(jià)格影響因素與預(yù)算建議
. 聯(lián)想硬盤壞了怎么辦,全面解析維修與數(shù)據(jù)恢復(fù)策略
. 硬盤數(shù)據(jù)恢復(fù)拆盤,拆盤操作與數(shù)據(jù)恢復(fù)技術(shù)解析
. 控制器壞了如何修復(fù)視頻,控制器故障排查與視頻修復(fù)技巧解析
. 希捷硬盤數(shù)據(jù)恢復(fù) 華軍,專業(yè)方法與案例分析
. u盤恢復(fù)數(shù)據(jù)價(jià)格,價(jià)格影響因素與選擇指南”
. 數(shù)據(jù) 恢復(fù),揭秘?cái)?shù)據(jù)丟失背后的原因與高效解決方案
. emcc存儲(chǔ)和ssd,EMCC存儲(chǔ)優(yōu)化與SSD性能提升技術(shù)解析
. 太原西數(shù)硬盤數(shù)據(jù)恢復(fù),專業(yè)解決方案與高效恢復(fù)策略
. 硬盤數(shù)據(jù)恢復(fù)一般多長時(shí)間,影響因素與恢復(fù)時(shí)長揭秘
. 移動(dòng)硬盤數(shù)據(jù)恢復(fù)大概多少錢,價(jià)格區(qū)間與影響因素
. 固態(tài)硬盤可以數(shù)據(jù)恢復(fù)嗎,揭秘恢復(fù)可能性與操作指南
. 磁盤陣列硬盤壞了數(shù)據(jù)如何恢復(fù),專業(yè)方法與案例解析
. 修一下移動(dòng)硬盤要多少錢,價(jià)格揭秘與預(yù)算規(guī)劃
. 聯(lián)想筆記本硬盤損壞,聯(lián)想筆記本硬盤故障排查與維修指南
. 50g硬盤數(shù)據(jù)恢復(fù)一般多少錢,價(jià)格因素與選擇指南