Mysql數(shù)據(jù)庫的增刪改查、備份、還原等基本操作大全
創(chuàng)建數(shù)據(jù)庫的時候,有兩個編碼集:
1.數(shù)據(jù)庫編碼集——數(shù)據(jù)庫未來存儲數(shù)據(jù)
2.數(shù)據(jù)庫校驗集——支持數(shù)據(jù)庫進行字段比較使用的編碼,本質(zhì)也是一種讀取數(shù)據(jù)庫中數(shù)據(jù)采用的編碼格式
數(shù)據(jù)庫無論對數(shù)據(jù)做任何操作,都必須保證操作和編碼必須是匹配的的,防止亂碼
1.1.1 查看系統(tǒng)默認字符集以及校驗規(guī)則show variables like 'character_set_database';//查看默認字符集show variables like 'collation_database';//查看默認校驗規(guī)則show charset; 查看數(shù)據(jù)庫支持的字符集
show collation; 查看數(shù)據(jù)庫支持的字符集校驗規(guī)則
1.1.2 默認方式建立數(shù)據(jù)庫if not exists:如果不存在就創(chuàng)建,存在就返回waring
關(guān)鍵語句
charset=utf8/設(shè)置字符集*/ collate utf8_general_ci/*設(shè)置校驗規(guī)則*/上篇文章中說道數(shù)據(jù)庫的本質(zhì)就是一個目錄,那么直接在指定文件夾下建立一個目錄通過show databases也是可以查到的,但是不建議這么做
前面提到了show databases顯示mysql下的所有數(shù)據(jù)庫
2.2 顯示數(shù)據(jù)庫的創(chuàng)建語句show create database 數(shù)據(jù)庫名;/…/不是注釋,他表示如果mysql版本大于4.01,d2創(chuàng)建語句就變成了
CREATE DATABASEd2 DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;
3.2 顯示目前處于那個數(shù)據(jù)庫select database();對數(shù)據(jù)庫的修改主要指的是修改數(shù)據(jù)庫的字符集,校驗規(guī)則
如下圖,數(shù)據(jù)庫d2原本校驗編碼是utf8_bin,通過ALTER修改其校驗碼為utf8
如果存在數(shù)據(jù)庫,就刪除
DROP DATABASE [IF EXISTS] db_ name;執(zhí)行刪除之后的結(jié)果:
數(shù)據(jù)庫內(nèi)部看不到對應(yīng)的數(shù)據(jù)庫對應(yīng)的數(shù)據(jù)庫文件夾被刪除,級聯(lián)刪除,里面的數(shù)據(jù)表全部被刪
注意:不要隨意刪除數(shù)據(jù)庫,否則你就會成為3個月獲得60萬的男人
五、補充:校驗規(guī)則對數(shù)據(jù)庫的影響前面提到的編碼集在數(shù)據(jù)庫中有什么作用呢?通過一個案例觀察一下
創(chuàng)建一個數(shù)據(jù)庫,校驗規(guī)則使用utf8_ general_ ci[不區(qū)分大小寫]
區(qū)分大小寫的查詢以及結(jié)果[utf8_ bin]
前面說道,數(shù)據(jù)庫的本質(zhì)就是linux下一個文件目錄,最簡單的方法就是直接復(fù)制那個目錄,但是這種方式可移植性不太好,下面來介紹一下常用的備份方式
mysqldump -P3306 -u root -p 密碼 -B 數(shù)據(jù)庫名 > 數(shù)據(jù)庫備份存儲的文件路徑第一步:備份數(shù)據(jù)庫
sql文件里不僅僅備份了數(shù)據(jù)庫內(nèi)的數(shù)據(jù),之前的有效操作也一并備份了
第二步:刪除數(shù)據(jù)庫
第三步:恢復(fù)數(shù)據(jù)庫
如果備份一個數(shù)據(jù)庫時,沒有帶上-B參數(shù),在恢復(fù)數(shù)據(jù)庫時,需要先創(chuàng)建空數(shù)據(jù)庫,然后使用(use db_name)數(shù)據(jù)庫,再使用source來還原
到此這篇關(guān)于Mysql數(shù)據(jù)庫的增刪改查、備份、還原等基本操作的文章就介紹到這了,更多相關(guān)mysql增刪改查、備份、還原內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
