柚子快報邀請碼778899分享:初識MySQL · 庫的操作
目錄
前言:
增
有關(guān)編碼
刪
查
改
前言:
由前文可得,MySQL是目前主流的數(shù)據(jù)庫,mysql是客戶端,mysqld是一種網(wǎng)絡(luò)服務(wù),mysqld是一種數(shù)據(jù)庫服務(wù),而對于數(shù)據(jù)庫來說,是一種存儲數(shù)據(jù)、組織數(shù)據(jù)的一種手段,那么我們肯定就是要學數(shù)據(jù)庫是如何操作的?對于數(shù)據(jù)庫我們應(yīng)該如何增刪查改?刪除了如何備份等問題。
那么就隨著博主的腳步,進入到今天的主題吧!
增
增加數(shù)據(jù)庫,也就是創(chuàng)建數(shù)據(jù)庫,現(xiàn)在我們先進入到數(shù)據(jù)庫:
使用指令sudo mysql -uroot即可進入,進入之后,我們現(xiàn)在嘗試創(chuàng)建一個數(shù)據(jù)庫,基本語法為:
CREATE DATABASE [IF NOT EXISTS] db_name [create_specification [,
create_specification] ...]
create_specification:
[DEFAULT] CHARACTER SET charset_name
[DEFAULT] COLLATE collation_name
我們在第一章已經(jīng)創(chuàng)建過了,這里簡單順便簡單回憶一下:
展現(xiàn)數(shù)據(jù)庫是使用show databases,隨即我們使用指令create database db_name; 創(chuàng)建了數(shù)據(jù)庫。
其中大寫的表示關(guān)鍵字,所以CREATE代表的是create,[]里面的代表是可選項,比如if not exists:
我們雖然是創(chuàng)建成功了,但是也有警告,因為這里已經(jīng)存在了的數(shù)據(jù)庫,所以不會重新創(chuàng)建新表,報了個警告直接返回了就。
那么下面的兩個,就涉及到了編碼了。
有關(guān)編碼
在MySQL里面,存在兩種編碼,一種是字符集,一種是字符集的校驗規(guī)則,比如我們在vs2022常用的字符集就是utf-8,偶爾會有utf-16的,這是用于存儲,也就是數(shù)據(jù)庫采用的一種存儲方式。那么校驗規(guī)則就是對該套字符集的一種校驗,不同的校驗規(guī)則有不同的方式去校驗,我們一會兒可以看看。
那么我們不妨指定一下字符集和校驗規(guī)則,說明:當我們創(chuàng)建數(shù)據(jù)庫沒有指定字符集和校驗規(guī)則時,系統(tǒng)使用默認字符集:utf8,校驗規(guī)則 是:utf8_ general_ ci,查看對應(yīng)的字符集和校驗規(guī)則是show charset; show collation;
我們創(chuàng)建一個字符集為utf8的數(shù)據(jù)庫:
創(chuàng)建一個字符集為utf8 校驗規(guī)則為utf8_general_ci的數(shù)據(jù)庫:
因為我這里是ubuntu環(huán)境,所以有些告警。
這些是默認的配置,而utf8mb4是utf8的擴展,所以會有些告警,但是不影響。
我們不妨驗證一下不同的校驗規(guī)則的影響是什么:
都使用utf8的字符集,這個使用校驗規(guī)則utf8_general_ci,特點是不區(qū)分大小寫:
這個使用utf8_bin,區(qū)分大小寫:
插入對應(yīng)數(shù)據(jù),插入完畢之后,我們進行查詢:
使用select * from person查詢該表的所有結(jié)果,這是test,utf8_general_ci的,不區(qū)分大小寫。
對于test2,區(qū)分大小寫的,所以查詢,只能查到一個b,沒有B。
那么對于數(shù)據(jù)庫來說,我們還可以進行排序:
這是test1的:
這是test2的:
那么以上是創(chuàng)建數(shù)據(jù)庫以及數(shù)據(jù)庫中的兩種規(guī)則。?
刪
刪除還是有點說法的,我們在數(shù)據(jù)庫基礎(chǔ)部分,知道了創(chuàng)建數(shù)據(jù)庫的本質(zhì)就是創(chuàng)建目錄:
在/var/lib/mysql的目錄下,我們就可以可以看到某些藍色的目錄,其中test1 test2就是我們創(chuàng)建的數(shù)據(jù)庫,那么我們刪除數(shù)據(jù)庫,是否可以直接在這里面刪除呢?
刪除肯定是可以的,但是非常非常不推薦這種刪除方式,實在是太業(yè)余了的感覺。
刪除使用的sql語句是drop:
這樣就刪除了。
那么對于數(shù)據(jù)如何備份,這里給個鏈接,同學們自行查閱哦~
超詳細講解:數(shù)據(jù)庫的備份與數(shù)據(jù)恢復方法舉例與說明(完全備份、差異備份、增量備份)_舉例說明增量備份-CSDN博客
查
對于查找這個功能來說,我們可以查數(shù)據(jù)庫,也可以查數(shù)據(jù)庫中的表:
使用的sql語句都是show ...,比如show databases; show tables;等。
那么同樣,我們也可以show創(chuàng)建語句,而這里和我們平常變成時候不一樣的是/**/并不是注釋,而是表示如果mysql的版本大于4.0.1的話,就執(zhí)行這條語句,比如CHARAVTER SET就代表存儲的字符集是utf8mb3,其中的'test1'是為了防止數(shù)據(jù)庫名剛好是關(guān)鍵字。
其實當們修改一下數(shù)據(jù)庫的字符集,里面的utf8mb3就會變成我們修改之后的了。
改
我們拿查的例子來舉例,我們先將數(shù)據(jù)庫的字符集修改一下,修改為gbk:
確實就修改完畢了。
對于改來說,對應(yīng)的sql語句就是alter。
當然了,可以改字符集,也可以改校驗規(guī)則。
這里就留給同學們自己嘗試啦。
感謝閱讀!
柚子快報邀請碼778899分享:初識MySQL · 庫的操作
文章來源
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。
轉(zhuǎn)載請注明,如有侵權(quán),聯(lián)系刪除。