【MySQL基礎】庫的操作:創建、刪除與管理數據庫

MySQL學習:

https://blog.csdn.net/2301_80220607/category_12971838.html?spm=1001.2014.3001.5482

前言:

在上一篇我們已經講解了數據庫的基本內容,相信大家對數據庫已經有了一些自己的理解,從這篇開始我們就開始正式進入如何操作數據庫相關內容的學習,首先我們先來學習一下庫的相關的操作

目錄

一、MySQL數據庫基礎概念

二、查看現有數據庫

三、創建數據庫

基本語法

常用選項說明

實際示例

四、字符集和校驗規則

系統默認字符集和校驗規則

查看字符集和校驗規則

校驗規則對數據庫的影響

五、修改數據庫

六、選擇/切換數據庫

七、刪除數據庫

基本語法

注意事項

實際示例

八、常見問題解答

九、總結


一、MySQL數據庫基礎概念

在MySQL中,數據庫(Database)是存儲有組織數據的容器,一個MySQL服務器可以管理多個數據庫,每個數據庫包含多個表(Table)、視圖(View)、存儲過程(Procedure)等對象。

另外想要了解底層的同學可以去了解一下mysql的主從復制原理,這個在大廠面試中經常出現

二、查看現有數據庫

在對庫進行操作之前,我們要先查看一下我們現在已經有哪些庫了,查看庫的語句為:

SHOW DATABASES;

(大小寫均可)

如圖,我這里就已經有了六個數據庫

之前我們在講操作系統的時候總喜歡提的一句話就是:在操作系統下,一切皆文件。

其實這里的數據庫在操作系統下同樣也是以文件的形式存在的,我們可以查看/var/lib/mysql這個路徑,在這個路徑中我們就可以看到我們的這幾個數據庫,而且是以文件夾的形式存在的

三、創建數據庫

基本語法
CREATE DATABASE [IF NOT EXISTS] 數據庫名
[CHARACTER SET 字符集名稱]
[COLLATE 校對規則];
常用選項說明
選項說明示例值
IF NOT EXISTS避免重復創建時報錯IF NOT EXISTS
CHARACTER SET指定字符集utf8mb4
COLLATE指定排序規則utf8mb4_general_ci

注釋:[ ]中的內容屬于可選項,并不一定要加上

實際示例

創建簡單數據庫:

CREATE DATABASE my_shop;

出現這個就代表我們創建成功,此時我們查看庫或者查看特定路徑下是否存在文件夾都可以驗證這一點

創建帶字符集的數據庫(推薦使用utf8mb4以支持emoji表情):

CREATE DATABASE my_blog 
CHARACTER SET utf8mb4 
COLLATE utf8mb4_unicode_ci;

安全創建(避免重復):

CREATE DATABASE IF NOT EXISTS my_forum;

如圖,此時我們創建一個已經存在的數據庫的時候就會出現警告創建失敗

四、字符集和校驗規則

在上面創建數據庫中我們提到了字符集和校驗規則的概念,下面我們來講一下它對我們創建數據庫有什么影響

系統默認字符集和校驗規則

首先我們來看一下系統默認的字符集和校驗規則:

show variables like 'character_set_database';
show variables like 'collation_database';

以上兩種就是系統默認的字符集和校驗規則

查看字符集和校驗規則

首先我們先講一下字符集的作用:其實就是控制使用什么語言,比如這里我們系統默認的utf8就可以使用中文,校驗規則則需要與字符集保持一致

查看字符集:

show charset;

(節選部分)

查看校驗規則:

show collation;

也是有很多

校驗規則對數據庫的影響

我們可以通過校驗規則在創建數據庫時做一些有意思的操作,比如創建的數據庫是否區分大小寫等

創建一個區分大小寫的數據庫:

create database test2 collate utf8_bin;

創建一個不區分大小寫的數據庫:

create database test1 collate utf8_general_ci;

五、修改數據庫

對數據庫的修改操作主要是針對數據庫的字符集和校驗規則

ALTER DATABASE 數據庫名
CHARACTER SET 字符集名稱
COLLATE 校對規則;

示例:

ALTER DATABASE my_shop
CHARACTER SET utf8mb4
COLLATE utf8mb4_bin;

六、選擇/切換數據庫

要對特定數據庫進行操作,需要先選擇它:

USE 數據庫名;

示例:

USE my_shop;

查看當前選擇的數據庫:

SELECT DATABASE();

七、刪除數據庫

基本語法
DROP DATABASE [IF EXISTS] 數據庫名;
注意事項
  1. 數據不可恢復:刪除操作會永久刪除數據庫及其所有內容

  2. 權限要求:需要DROP權限

  3. 推薦做法:先備份再刪除

實際示例
  1. 基本刪除:

DROP DATABASE old_database;
  1. 安全刪除(避免不存在的數據庫報錯):

DROP DATABASE IF EXISTS temp_database;

八、常見問題解答

Q:創建數據庫時報錯"Can't create database"怎么辦?
A:檢查:

  1. 是否有CREATE權限

  2. 數據庫名是否合法

  3. 磁盤空間是否充足

Q:如何查看數據庫的創建語句?

SHOW CREATE DATABASE 數據庫名;

Q:為什么推薦使用utf8mb4而不是utf8?
A:MySQL的utf8只支持最多3字節字符,而utf8mb4支持完整的4字節UTF-8編碼(如emoji表情)。

九、總結

掌握MySQL數據庫的基本操作是數據庫管理的第一步。記住:

  • 創建前規劃好字符集和命名

  • 刪除前務必備份重要數據

  • 定期維護數據庫結構

以上就是本篇關于數據庫各種操作的講解了

感謝各位大佬觀看,創作不易,還望各位大佬點贊支持!!!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/83350.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/83350.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/83350.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Linux服務器系統配置初始化腳本

服務器系統配置初始化腳本 #!/bin/bash set -euo pipefail # 安全設置:遇錯退出、未定義變量報錯、管道錯誤處理# 設置時區并同步時間 timedatectl set-timezone Asia/Shanghai >/dev/null || ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime# 安裝c…

Milvus單機模式安裝和試用

1.安裝ollama的package包; # install package pip install -U langchain-ollama2.我們直接使用ChatOllama實例化模型,并通過invoke進行調用; from langchain_ollama import ChatOllamallm ChatOllama(model"deepseek-r1") messa…

秒出PPT正式改名秒出AI,開啟AI賦能新體驗!

在現代辦公環境中,借助智能工具提升工作效率已經成為趨勢。秒出AI作為一款集AI PPT制作、動畫、巨幕、視頻、設計以及智能簡歷功能于一體的綜合辦公平臺,為用戶提供一站式智能內容生成解決方案,極大地簡化了內容創作流程。 1. AI驅動的一鍵P…

Rust 學習筆記:發布一個 crate 到 crates.io

Rust 學習筆記:發布一個 crate 到 crates.io Rust 學習筆記:發布一個 crate 到 crates.io提供有用的文檔注釋常用標題文檔注釋作為測試注釋所包含的項目 使用 pub use 導出一個方便的公共 API設置 crates.io 賬戶添加 metadata 到一個新的 crate發布到 c…

C++輸入與輸出技術詳解

文章目錄 引言一、C標準輸入輸出流1.1 cin與cout1.2 cerr與clog 二、C風格輸入輸出函數2.1 scanf與printf2.2 fgets與puts 三、輸入輸出優化四、總結 引言 在C編程中,輸入與輸出(I/O)操作是程序與用戶、文件或其他系統組件交互的核心環節。C…

安全編碼與AI接口權限控制

安全編碼與AI接口權限控制 在AI系統中,模型服務的開放接口往往涉及敏感數據、核心算法與算力資源,如果缺乏有效的安全編碼與權限控制機制,極易引發數據泄露、濫用調用或非法操作等問題。本節將從“接口安全策略”“權限驗證流程”“Token管控機制”“多租戶身份隔離”四個方…

redis五種數據結構詳解(java實現對應的案例)

一、簡述 Redis是一款高性能的鍵值對存儲數據庫,它支持五種基本數據類型,分別是字符串(String)、列表(List)、哈希(Hash)、集合(Set)、有序集合(Sorted Set)。 二、五種基本數據類型 2.1 字符串(String) String是Redis最基本的類型,一個key對…

大數據-273 Spark MLib - 基礎介紹 機器學習算法 決策樹 分類原則 分類原理 基尼系數 熵

點一下關注吧!!!非常感謝!!持續更新!!! 大模型篇章已經開始! 目前已經更新到了第 22 篇:大語言模型 22 - MCP 自動操作 FigmaCursor 自動設計原型 Java篇開…

第十一章 Java基礎-繼承

文章目錄 1.繼承來源2.繼承特點3.子類能繼承父類中哪些內容1.繼承來源 是為了解決代碼的重復冗余。

Axure項目實戰:駕駛艙(數據一張圖)制作教程

親愛的小伙伴,在您瀏覽之前,煩請關注一下,在此深表感謝!如有幫助請訂閱專欄! Axure產品經理精品視頻課已登錄CSDN可點擊學習https://edu.csdn.net/course/detail/40420 視頻展示(本文第三部分含所有echarts示例JS代碼,可復制使用): Axure項目實戰:駕駛艙(數據一張圖…

針對Python開發的工具推薦及分析,涵蓋集成開發環境(IDE)、輕量級工具、在線開發平臺、代碼管理工具等)

以下是針對Python開發的工具推薦及全面分析,涵蓋集成開發環境(IDE)、輕量級工具、在線開發平臺、代碼管理工具等,結合不同場景和需求進行分類說明: 目錄 一、集成開發環境(IDE) 1. PyCharm 2…

不使用綁定的方法

public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); // 初始設置 A 控件的寬度 ControlA.Width ControlB.Width / 2; // 監聽 B 控件的 SizeChanged 事件 ControlB.SizeChanged (sender, e) > { ControlA.Width ControlB.Actual…

DDR5 ECC詳細原理介紹與基于協議講解

本文篇幅較長,涉及背景原理介紹方便大家理解其運作方式 以及 基于DDR5協議具體展開介紹。 背景原理介紹 上圖參考:DDR 內存中的 ECC 寫入操作時,On-die ECC的工作過程如下: SoC將需要寫入到Memory中的數據發送給控制器控制器將需要寫入的數據直接發送給DRAM芯片在DDR5 DR…

基于springboot的益智游戲系統的設計與實現

博主介紹:java高級開發,從事互聯網行業六年,熟悉各種主流語言,精通java、python、php、爬蟲、web開發,已經做了六年的畢業設計程序開發,開發過上千套畢業設計程序,沒有什么華麗的語言&#xff0…

STM32軟件spi和硬件spi

核心觀點 本文主要介紹了SPI通信的兩種實現方式:軟件SPI和硬件SPI。詳細闡述了SPI通信協議的基本概念、硬件電路連接方式、移位示意圖、時序基本單元以及四種工作模式。同時,對W25Q64模塊進行了詳細介紹,包括其硬件電路、框圖以及操作注意事…

NLP學習路線圖(十五):TF-IDF(詞頻-逆文檔頻率)

在自然語言處理(NLP)的浩瀚宇宙中,TF-IDF(詞頻-逆文檔頻率) 猶如一顆恒星,雖古老卻依然璀璨。當ChatGPT、BERT等大模型光芒四射時,TF-IDF作為傳統方法的代表,其簡潔性、高效性與可解…

愛其實很簡單

初春時,元元買來兩只芙蓉鳥。一只白色的,是雄鳥;另一只黃色的,是雌鳥。 每天清晨日出之前,雄鳥便開始“啁啾——啁啾”地啼鳴,鳴聲清脆婉轉,充滿喜悅,仿佛在迎接日出,又…

CentOS 7 環境下部署 LAMP

在 CentOS 7 環境下部署 LAMP(Linux Apache MySQL 5.7 PHP 7.4) 環境的詳細步驟如下: 1. 系統準備 1.1 更新系統 sudo yum update -y 1.2 安裝依賴 sudo yum install -y gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel e…

如何查看電腦電池性能

檢查電腦電池性能的方法如下: 按下winR鍵,輸入cmd回車,進入命令行窗口 在命令行窗口輸入powercfg /batteryreport 桌面雙擊此電腦,把剛剛復制的路徑粘貼到文件路徑欄,然后回車 回車后會自動用瀏覽器打開該報告 紅…

數據結構——優先級隊列(PriorityQueue)

1.優先級隊列 優先級隊列可以看作隊列的另一個版本,隊列的返回元素是由是由插入順序決定的,先進先出嘛,但是有時我們可能想要返回優先級較高的元素,比如最大值?這種場景下就由優先級隊列登場。 優先級隊列底層是由堆實…