Mysql數(shù)據(jù)庫的增刪改查、備份、還原等基本操作大全
一、創(chuàng)建數(shù)據(jù)庫—create
CREATE DATABASE [IF NOT EXISTS] db_name [create_specification [, create_specification] ...] create_specification: [DEFAULT] CHARACTER SET charset_name [DEFAULT] COLLATE collation_name
- 大寫的表示關鍵字
- [] 是可選項
- CHARACTER SET: 指定數(shù)據(jù)庫采用的字符集
- COLLATE: 指定數(shù)據(jù)庫字符集的校驗規(guī)則
1.1 字符集與校驗規(guī)則
創(chuàng)建數(shù)據(jù)庫的時候,有兩個編碼集:
1.數(shù)據(jù)庫編碼集——數(shù)據(jù)庫未來存儲數(shù)據(jù)
2.數(shù)據(jù)庫校驗集——支持數(shù)據(jù)庫進行字段比較使用的編碼,本質也是一種讀取數(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
1.1.3 指定編碼集建立數(shù)據(jù)庫
關鍵語句
charset=utf8/設置字符集*/ collate utf8_general_ci/*設置校驗規(guī)則*/
1.2 建庫的本質
上篇文章中說道數(shù)據(jù)庫的本質就是一個目錄,那么直接在指定文件夾下建立一個目錄通過show databases
也是可以查到的,但是不建議這么做
二、查看數(shù)據(jù)庫及其相關屬性—show
2.1 顯示所有數(shù)據(jù)庫
前面提到了show databases
顯示mysql下的所有數(shù)據(jù)庫
2.2 顯示數(shù)據(jù)庫的創(chuàng)建語句
show create database 數(shù)據(jù)庫名;
/…/不是注釋,他表示如果mysql版本大于4.01,d2創(chuàng)建語句就變成了
CREATE DATABASE
d2 DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;
3.2 顯示目前處于那個數(shù)據(jù)庫
select database();
三、修改數(shù)據(jù)庫—alter
ALTER DATABASE db_name [alter_spacification [,alter_spacification]...] alter_spacification: [DEFAULT] CHARACTER SET charset_name [DEFAULT] COLLATE collation_name
對數(shù)據(jù)庫的修改主要指的是修改數(shù)據(jù)庫的字符集,校驗規(guī)則
如下圖,數(shù)據(jù)庫d2原本校驗編碼是utf8_bin,通過ALTER修改其校驗碼為utf8
四、數(shù)據(jù)庫刪除—drop
如果存在數(shù)據(jù)庫,就刪除
DROP DATABASE [IF EXISTS] db_ name;
執(zhí)行刪除之后的結果:
數(shù)據(jù)庫內部看不到對應的數(shù)據(jù)庫對應的數(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ū)分大小寫的查詢以及結果[utf8_ bin]
六、數(shù)據(jù)庫的備份與還原(重中之重)
6.1 數(shù)據(jù)庫的備份與還原
前面說道,數(shù)據(jù)庫的本質就是linux下一個文件目錄,最簡單的方法就是直接復制那個目錄,但是這種方式可移植性不太好,下面來介紹一下常用的備份方式
mysqldump -P3306 -u root -p 密碼 -B 數(shù)據(jù)庫名 > 數(shù)據(jù)庫備份存儲的文件路徑
第一步:備份數(shù)據(jù)庫
sql文件里不僅僅備份了數(shù)據(jù)庫內的數(shù)據(jù),之前的有效操作也一并備份了
第二步:刪除數(shù)據(jù)庫
第三步:恢復數(shù)據(jù)庫
6.2 其他情況
6.2.1 只備份表
mysqldump -u root -p 數(shù)據(jù)庫名 表名1 表名2 > D:/mytest.sql
6.2.2 備份多個數(shù)據(jù)庫
mysqldump -u root -p -B 數(shù)據(jù)庫名1 數(shù)據(jù)庫名2 ... > 數(shù)據(jù)庫存放路徑
6.2.3 -B選項
如果備份一個數(shù)據(jù)庫時,沒有帶上-B參數(shù),在恢復數(shù)據(jù)庫時,需要先創(chuàng)建空數(shù)據(jù)庫,然后使用(use db_name)數(shù)據(jù)庫,再使用source來還原
到此這篇關于Mysql數(shù)據(jù)庫的增刪改查、備份、還原等基本操作的文章就介紹到這了,更多相關mysql增刪改查、備份、還原內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
MySQL 5.7.18 release版安裝指南(含有bin文件版本)
這篇文章主要介紹了MySQL 5.7.18 release版安裝指南,本文只談論release版,即含有bin文件版本,需要的朋友可以參考下2017-04-04如何通過sql查找所有父節(jié)點和所有子節(jié)點(以mysql為例)
這篇文章主要給大家介紹了關于如何通過sql查找所有父節(jié)點和所有子節(jié)點,本文以mysql為例,項目中遇到一個需求,要求查處菜單節(jié)點的所有節(jié)點,這里給大家總結下,需要的朋友可以參考下2023-08-08區(qū)別于Oracle的MySQL?insert會阻塞update
這篇文章主要介紹了區(qū)別于Oracle的MySQL?insert會阻塞update的問題解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-03-03