MySQL庫的操作之創(chuàng)建、刪除與管理數(shù)據(jù)庫
一、MySQL數(shù)據(jù)庫基礎(chǔ)概念
在MySQL中,數(shù)據(jù)庫(Database)是存儲有組織數(shù)據(jù)的容器,一個(gè)MySQL服務(wù)器可以管理多個(gè)數(shù)據(jù)庫,每個(gè)數(shù)據(jù)庫包含多個(gè)表(Table)、視圖(View)、存儲過程(Procedure)等對象。
另外想要了解底層的同學(xué)可以去了解一下mysql的主從復(fù)制原理,這個(gè)在大廠面試中經(jīng)常出現(xiàn)
二、查看現(xiàn)有數(shù)據(jù)庫
在對庫進(jìn)行操作之前,我們要先查看一下我們現(xiàn)在已經(jīng)有哪些庫了,查看庫的語句為:
SHOW DATABASES;
(大小寫均可)

如圖,我這里就已經(jīng)有了六個(gè)數(shù)據(jù)庫
之前我們在講操作系統(tǒng)的時(shí)候總喜歡提的一句話就是:在操作系統(tǒng)下,一切皆文件。
其實(shí)這里的數(shù)據(jù)庫在操作系統(tǒng)下同樣也是以文件的形式存在的,我們可以查看/var/lib/mysql這個(gè)路徑,在這個(gè)路徑中我們就可以看到我們的這幾個(gè)數(shù)據(jù)庫,而且是以文件夾的形式存在的

三、創(chuàng)建數(shù)據(jù)庫
基本語法
CREATE DATABASE [IF NOT EXISTS] 數(shù)據(jù)庫名 [CHARACTER SET 字符集名稱] [COLLATE 校對規(guī)則];
常用選項(xiàng)說明
| 選項(xiàng) | 說明 | 示例值 |
|---|---|---|
| IF NOT EXISTS | 避免重復(fù)創(chuàng)建時(shí)報(bào)錯 | IF NOT EXISTS |
| CHARACTER SET | 指定字符集 | utf8mb4 |
| COLLATE | 指定排序規(guī)則 | utf8mb4_general_ci |
注釋:[ ]中的內(nèi)容屬于可選項(xiàng),并不一定要加上
實(shí)際示例
創(chuàng)建簡單數(shù)據(jù)庫:
CREATE DATABASE my_shop;

出現(xiàn)這個(gè)就代表我們創(chuàng)建成功,此時(shí)我們查看庫或者查看特定路徑下是否存在文件夾都可以驗(yàn)證這一點(diǎn)
創(chuàng)建帶字符集的數(shù)據(jù)庫(推薦使用utf8mb4以支持emoji表情):
CREATE DATABASE my_blog CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
安全創(chuàng)建(避免重復(fù)):
CREATE DATABASE IF NOT EXISTS my_forum;

如圖,此時(shí)我們創(chuàng)建一個(gè)已經(jīng)存在的數(shù)據(jù)庫的時(shí)候就會出現(xiàn)警告創(chuàng)建失敗
四、字符集和校驗(yàn)規(guī)則
在上面創(chuàng)建數(shù)據(jù)庫中我們提到了字符集和校驗(yàn)規(guī)則的概念,下面我們來講一下它對我們創(chuàng)建數(shù)據(jù)庫有什么影響
系統(tǒng)默認(rèn)字符集和校驗(yàn)規(guī)則
首先我們來看一下系統(tǒng)默認(rèn)的字符集和校驗(yàn)規(guī)則:
show variables like 'character_set_database'; show variables like 'collation_database';

以上兩種就是系統(tǒng)默認(rèn)的字符集和校驗(yàn)規(guī)則
查看字符集和校驗(yàn)規(guī)則
首先我們先講一下字符集的作用:其實(shí)就是控制使用什么語言,比如這里我們系統(tǒng)默認(rèn)的utf8就可以使用中文,校驗(yàn)規(guī)則則需要與字符集保持一致
查看字符集:
show charset;

(節(jié)選部分)
查看校驗(yàn)規(guī)則:
show collation;

也是有很多
校驗(yàn)規(guī)則對數(shù)據(jù)庫的影響
我們可以通過校驗(yàn)規(guī)則在創(chuàng)建數(shù)據(jù)庫時(shí)做一些有意思的操作,比如創(chuàng)建的數(shù)據(jù)庫是否區(qū)分大小寫等
創(chuàng)建一個(gè)區(qū)分大小寫的數(shù)據(jù)庫:
create database test2 collate utf8_bin;
創(chuàng)建一個(gè)不區(qū)分大小寫的數(shù)據(jù)庫:
create database test1 collate utf8_general_ci;
五、修改數(shù)據(jù)庫
對數(shù)據(jù)庫的修改操作主要是針對數(shù)據(jù)庫的字符集和校驗(yàn)規(guī)則
ALTER DATABASE 數(shù)據(jù)庫名 CHARACTER SET 字符集名稱 COLLATE 校對規(guī)則;
示例:
ALTER DATABASE my_shop CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
六、選擇/切換數(shù)據(jù)庫
要對特定數(shù)據(jù)庫進(jìn)行操作,需要先選擇它:
USE 數(shù)據(jù)庫名;
示例:
USE my_shop;
查看當(dāng)前選擇的數(shù)據(jù)庫:
SELECT DATABASE();

七、刪除數(shù)據(jù)庫
基本語法
DROP DATABASE [IF EXISTS] 數(shù)據(jù)庫名;
注意事項(xiàng)
數(shù)據(jù)不可恢復(fù):刪除操作會永久刪除數(shù)據(jù)庫及其所有內(nèi)容
權(quán)限要求:需要DROP權(quán)限
推薦做法:先備份再刪除
實(shí)際示例
基本刪除:
DROP DATABASE old_database;
安全刪除(避免不存在的數(shù)據(jù)庫報(bào)錯):
DROP DATABASE IF EXISTS temp_database;
八、常見問題解答
Q:創(chuàng)建數(shù)據(jù)庫時(shí)報(bào)錯"Can't create database"怎么辦?
A:檢查:
是否有CREATE權(quán)限
數(shù)據(jù)庫名是否合法
磁盤空間是否充足
Q:如何查看數(shù)據(jù)庫的創(chuàng)建語句?
SHOW CREATE DATABASE 數(shù)據(jù)庫名;
Q:為什么推薦使用utf8mb4而不是utf8?
A:MySQL的utf8只支持最多3字節(jié)字符,而utf8mb4支持完整的4字節(jié)UTF-8編碼(如emoji表情)。
九、總結(jié)
掌握MySQL數(shù)據(jù)庫的基本操作是數(shù)據(jù)庫管理的第一步。記?。?/p>
創(chuàng)建前規(guī)劃好字符集和命名
刪除前務(wù)必備份重要數(shù)據(jù)
定期維護(hù)數(shù)據(jù)庫結(jié)構(gòu)
以上就是本篇關(guān)于數(shù)據(jù)庫各種操作的講解了
到此這篇關(guān)于MySQL庫的操作之創(chuàng)建、刪除與管理數(shù)據(jù)庫的文章就介紹到這了,更多相關(guān)MySQL庫創(chuàng)建、刪除與管理內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
centos6.4下mysql5.7.18安裝配置方法圖文教程
這篇文章主要為大家詳細(xì)介紹了centos6.4下mysql5.7.18安裝配置方法圖文教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-07-07
RedHat6.5/CentOS6.5安裝Mysql5.7.20的教程詳解
這篇文章主要介紹了RedHat6.5/CentOS6.5安裝Mysql5.7.20的教程詳解,非常不錯,具有參考借鑒價(jià)值,需要的朋友可以參考下2017-11-11
MySQL優(yōu)化之SQL調(diào)優(yōu)策略分享
這篇文章主要介紹了MySQL優(yōu)化之SQL調(diào)優(yōu)策略,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2025-04-04
Ubuntu 20.04 安裝和配置MySql5.7的詳細(xì)教程
這篇文章主要介紹了Ubuntu 20.04 安裝和配置MySql5.7的相關(guān)資料,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-12-12

