亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

MySQL庫的操作大全

 更新時(shí)間:2025年05月14日 11:56:49   作者:Yui_  
MySQL是一個數(shù)據(jù)庫管理系統(tǒng),在其中我們可以創(chuàng)建許多的數(shù)據(jù)庫,數(shù)據(jù)庫中中又可以存儲許多的表,本文給大家介紹MySQL庫的操作大全,感興趣的朋友跟隨小編一起看看吧

1. 創(chuàng)建一個數(shù)據(jù)庫

MySQL是一個數(shù)據(jù)庫管理系統(tǒng),在其中我們可以創(chuàng)建許多的數(shù)據(jù)庫,數(shù)據(jù)庫中中又可以存儲許多的表。
如下圖所示:

image.png

用戶通過MySQL來創(chuàng)建數(shù)據(jù)庫,下面是創(chuàng)建數(shù)據(jù)的語法:

CREATE database [IF NOT EXISTS] 數(shù)據(jù)庫名字 [create_specification [,create_specification]...]
create_specification:
	[DEFAULT] CHARACTER SET charset_name
	[DEFAULT] COLLATE collation_name

注意:

  • 大寫的字符都是MySQL中的關(guān)鍵字(在創(chuàng)建的時(shí)候,可以不大寫,這里不區(qū)分大小寫,個人喜歡小寫,主要大寫不好認(rèn)(bushi))
  • []內(nèi)的內(nèi)容都是可以省略的,所以最簡單的寫法就是這樣:
create database 數(shù)據(jù)庫名字
  • CHARACTER SET:指定數(shù)據(jù)庫采用的字符集(本文下面講~)
  • COLLATE:指定數(shù)據(jù)庫字符集的校驗(yàn)規(guī)則(本文下面講~)

1.1 創(chuàng)建一個數(shù)據(jù)庫(演示

create database if not exists SpringThings;

image.png

創(chuàng)建成功,if not exists的作用是什么呢>
如果創(chuàng)建的數(shù)據(jù)庫已經(jīng)存在就不會創(chuàng)建,并發(fā)出警告,當(dāng)我們不加if not exists就會報(bào)錯,當(dāng)然數(shù)據(jù)也不會創(chuàng)建。也就是說if not exists是一種比較溫和的檢查方式。
繼續(xù)看演示:

image.png

2. 字符集和校驗(yàn)規(guī)則

2.1 字符集

字符集大家都知道吧,想gbkutf-8都是字符集,其底層也就是用一個唯一的二進(jìn)制數(shù)來代表一個字符,不同的字符集可能對應(yīng)的二進(jìn)制數(shù)代表的字符不同。最早的字符集是ASCII碼表,其大小只有一個字節(jié),只能表示256個字符。
MySQL默認(rèn)的字符集是什么呢?這個就要去看配置文件了,在Linux下文件應(yīng)該是存儲在/etc/my.cnf里面的,來看看里面的配置吧。

image.png

我的MySQL里面配置的是utf8
還有一種方法就是在MySQL的命令行中輸入:

show variables like 'character_set_database';

image.png

既然有默認(rèn)的字符集,那么也就表示字符集是可以選擇,MySQL中支持哪些字符集呢?
想要知道這個答案,只需要執(zhí)行,下面這個命令即可:

show charset;

image.png

2.2 校驗(yàn)規(guī)則

這里的校驗(yàn)規(guī)則主要是針對字符的大小寫,且是和字符集有關(guān)系的。
查看數(shù)據(jù)庫支持的校驗(yàn)規(guī)則:

show collation;

由于支持的校驗(yàn)規(guī)則太多,就不截圖了:(
在數(shù)據(jù)庫中,一種字符集可以有多種校驗(yàn)規(guī)則。
比如現(xiàn)在我查看MySQL的默認(rèn)校驗(yàn)規(guī)則

show variables like 'collation_database';

image.png

它還要這些校驗(yàn)規(guī)則:

image.png

關(guān)于校驗(yàn)規(guī)則對大小寫的約束,我們來看下面的例子:
我們會用到的字符集是utf8,校驗(yàn)規(guī)則為utf8_bin(區(qū)分大小寫)和utf8_general_ci(不區(qū)分大小寫)

image.png

我在數(shù)據(jù)庫中創(chuàng)建了一個表并插入了一些數(shù)據(jù),目前讀者不需要了解~
還記得我們的校驗(yàn)規(guī)則嗎,不區(qū)分大小寫那個~

image.png

居然都搜索出來嗎…你這家伙。符合預(yù)期。
再創(chuàng)建一個數(shù)據(jù)庫指定另一個校驗(yàn)規(guī)則:

create database if not exists collate utf8_bin;

image.png

這樣就區(qū)分大小寫了~

2.3 知識補(bǔ)充:)

在上面的數(shù)據(jù)庫創(chuàng)建,就是這個:

create database if not exists collate utf8_bin;

我只是指定了校驗(yàn)規(guī)則,并沒有指定字符集,MySQL能知道我的字符集嗎?
答案是可以的,雖然我們MySQL設(shè)置的默認(rèn)字符集就是utf8但是即使我們設(shè)置其他默認(rèn)字符集,MySQL依然可以自動推導(dǎo)出來,同理當(dāng)你只指定了字符集MySQL也可以自動推測出校驗(yàn)規(guī)則~

不過要注意,你給的字符集和校驗(yàn)規(guī)則一定要是MySQL支持的,可不能自己隨便寫一個的。

3. 操作數(shù)據(jù)庫

3.1 基礎(chǔ)指令 查看MySQL下的所有數(shù)據(jù)庫(記得+‘s’)

show databases;

image.png

2. 顯示創(chuàng)建語句

show create database 數(shù)據(jù)庫名字;

image.png

說明:

數(shù)據(jù)庫名字的反引號,是為了防止使用的數(shù)據(jù)庫名剛好是關(guān)鍵字/*!40100 default… */ 這個不是注釋,表示當(dāng)前mysql版本大于4.01版本,就執(zhí)行這句話 3.2 使用數(shù)據(jù)庫

在我們對一個數(shù)據(jù)庫進(jìn)行操作前,要先指定使用這個數(shù)據(jù)庫。

use 數(shù)據(jù)庫名

3.3 修改數(shù)據(jù)庫

語法:

ALTER DATABASE 數(shù)據(jù)庫名
[alter_spacification [,alter_spacification]...]
alter_spacification:
[DEFAULT] CHARACTER SET charset_name
[DEFAULT] COLLATE collation_name

其實(shí)我們對數(shù)據(jù)庫的修改就是修改數(shù)據(jù)庫的字符集和校驗(yàn)規(guī)則。

alter database SpringThings charset=gbk;

image.png

3.3.1 知識補(bǔ)充:)

其實(shí)我們啊還可以在文件里面來查看數(shù)據(jù)庫的字符集,進(jìn)入/var/lib/mysql

image.png

然后我們進(jìn)入你想要查看的數(shù)據(jù)庫,cat db.opt

image.png

3.4 數(shù)據(jù)庫刪除

語法:

DROP DATABASE [IF EXISTS] 數(shù)據(jù)庫名字

我們可以先創(chuàng)建一個臨時(shí)的數(shù)據(jù)庫,然后演示刪除:

image.png

注意:
不要輕易刪除庫,一旦數(shù)據(jù)庫被刪除,里面的所有數(shù)據(jù)啊,表啊就全部消失了。
也是變成了傳說中的刪庫跑路。

4. 數(shù)據(jù)的備份與恢復(fù)

庫被刪了難道就沒有辦法了嗎?其實(shí)還是有救的,前提是你備份了的話:)
備份的語法:

mysqldump -u 用戶 -p -P 端口 -B 待備份的數(shù)據(jù)庫 > 目標(biāo)路徑(含目標(biāo)文件)

這里我們就先把SpringThings備份了

注意:如果該數(shù)據(jù)庫正在被使用,需要先斷開連接。

nysqldump -u root -p -P 8000 -B SpringThings > /root/MySQL/SpringThings.sql

image.png

注意:此處博主沒有加-B選項(xiàng),后續(xù)需要先創(chuàng)建數(shù)據(jù)庫,然后再恢復(fù)!最好的方法就是加-B
然后我們刪除該庫

image.png

下面開始恢復(fù)。
恢復(fù)的語法:

SOURCE 路徑

在恢復(fù)前,我們再看看路徑文件里備份文件的內(nèi)容吧。

image.png

還真是樸實(shí)無華啊,就是以前執(zhí)行過的sql語句

image.png

注意:前面博主沒有加-B選項(xiàng),后續(xù)需要先創(chuàng)建數(shù)據(jù)庫,然后再恢復(fù)!最好的方法就是加-B,所以這里其實(shí)是恢復(fù)失敗了
恢復(fù)的語法就是如此,大家快去試試吧~

4.1 錯誤的備份方法:(

主播主播,這個備份操作還是太難寫了,有沒有更簡單的方法。
有的有的,直接復(fù)制你需要備份的數(shù)據(jù)庫然后打包,等以后需要的時(shí)候解壓即可——嗎?

這種方法嚴(yán)重不推薦,原因是恢復(fù)時(shí)可能會出現(xiàn)問題,假設(shè)恢復(fù)至版本更低的 MySQL 中,會出現(xiàn)各種奇怪的問題,畢竟老版本沒有新特性,還有就是這種做法太暴力了

5.總結(jié)

在數(shù)據(jù)庫中,創(chuàng)建數(shù)據(jù)庫是最開始的一步,本文向讀者介紹了庫的創(chuàng)建,然后通過數(shù)據(jù)庫的創(chuàng)建語法引導(dǎo)出數(shù)據(jù)庫的字符集和校驗(yàn)規(guī)則,然后就是對數(shù)據(jù)庫進(jìn)行操作比如查看、修改等操作,最后就是數(shù)據(jù)的備份與恢復(fù)。

到此這篇關(guān)于MySQL庫的操作的文章就介紹到這了,更多相關(guān)MySQL庫的操作內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • MySQL子查詢的實(shí)現(xiàn)示例

    MySQL子查詢的實(shí)現(xiàn)示例

    MySQL中的子查詢是一個強(qiáng)大的功能,本文主要介紹了MySQL子查詢的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-08-08
  • MySQL中日期和時(shí)間戳互相轉(zhuǎn)換的函數(shù)和方法

    MySQL中日期和時(shí)間戳互相轉(zhuǎn)換的函數(shù)和方法

    這篇文章主要介紹了MySQL中日期和時(shí)間戳互相轉(zhuǎn)換的函數(shù)和方法,本文分別講解了時(shí)間戳轉(zhuǎn)換成日期的方法和把日期轉(zhuǎn)換為時(shí)間戳的方法,需要的朋友可以參考下
    2015-06-06
  • MYSQL中查詢LONGBLOB類型數(shù)據(jù)的大小的詳細(xì)示例

    MYSQL中查詢LONGBLOB類型數(shù)據(jù)的大小的詳細(xì)示例

    在MySQL中,LONGBLOB?是一種二進(jìn)制大對象(BLOB)數(shù)據(jù)類型,用于存儲大量的二進(jìn)制數(shù)據(jù),但是,LONGBLOB?數(shù)據(jù)類型本身并不直接存儲數(shù)據(jù)的大?。ㄩL度),它存儲的是二進(jìn)制數(shù)據(jù)的實(shí)際內(nèi)容,這篇文章主要介紹了MYSQL中怎么查詢LONGBLOB類型數(shù)據(jù)的大小,需要的朋友可以參考下
    2024-06-06
  • 深入mysql存儲過程中表名使用參數(shù)傳入的詳解

    深入mysql存儲過程中表名使用參數(shù)傳入的詳解

    本篇文章是對mysql存儲過程中表名使用參數(shù)傳入進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06
  • Redis與MySQL的雙寫一致性問題

    Redis與MySQL的雙寫一致性問題

    這篇文章只要介紹了Redis與MySQL雙寫一致性,主要是指在使用緩存和數(shù)據(jù)庫同時(shí)存儲數(shù)據(jù)的場景下( 主要是存在高并發(fā)的情況),如何保證兩者的數(shù)據(jù)一致性(內(nèi)容相同或者盡可能接近),感興趣的同學(xué)可以借鑒一下
    2023-03-03
  • MYSQL性能優(yōu)化分享(分庫分表)

    MYSQL性能優(yōu)化分享(分庫分表)

    MYSQL性能優(yōu)化之分庫分表與不停機(jī)修改mysql表結(jié)構(gòu),需要的朋友可以參考下
    2012-02-02
  • MySQL 5.7臨時(shí)表空間如何玩才能不掉坑里詳解

    MySQL 5.7臨時(shí)表空間如何玩才能不掉坑里詳解

    這篇文章主要給大家介紹了關(guān)于MySQL 5.7臨時(shí)表空間如何玩才能不掉坑里的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用mysql具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起看看吧
    2018-09-09
  • mysql存儲過程之錯誤處理實(shí)例詳解

    mysql存儲過程之錯誤處理實(shí)例詳解

    這篇文章主要介紹了mysql存儲過程之錯誤處理,結(jié)合實(shí)例形式詳細(xì)分析了mysql存儲過程錯誤處理相關(guān)原理、操作技巧與注意事項(xiàng),需要的朋友可以參考下
    2019-12-12
  • 導(dǎo)致mysqld無法啟動的一個錯誤問題及解決

    導(dǎo)致mysqld無法啟動的一個錯誤問題及解決

    這篇文章主要介紹了導(dǎo)致mysqld無法啟動的一個錯誤問題及解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • 你有沒有遺忘mysql的歷史記錄

    你有沒有遺忘mysql的歷史記錄

    程序出現(xiàn)了問題,明知道可能是sql語句造成的,但是因?yàn)榭蚣艿脑?分析起來十分麻煩,于是打算直接查看數(shù)據(jù)庫里面的歷史記錄.
    2014-09-09

最新評論