MySQL庫的基礎(chǔ)操作入門案例詳解
?創(chuàng)建數(shù)據(jù)庫
語法
mysql> create database [if not exists] 庫的名字 [CHARACTER SET] [COLLATE]
說明: 大小寫都可以。
[ ] 是可選項(xiàng) :
- if not exists 選項(xiàng)表示:如果這個(gè)數(shù)據(jù)庫不存在,則創(chuàng)建,存在就不創(chuàng)建。
- CHARACTER SET: 指定數(shù)據(jù)庫采用的字符集
- COLLATE: 指定數(shù)據(jù)庫字符集的校驗(yàn)規(guī)則 創(chuàng)建數(shù)據(jù)庫案例 創(chuàng)建名為 db1 的數(shù)據(jù)庫
create database db1;
注意:
我們創(chuàng)建數(shù)據(jù)庫沒有指定字符集和校驗(yàn)規(guī)則時(shí),會(huì)使用默認(rèn)的,也就是配置文件中的,系統(tǒng)使用默認(rèn)字符集:utf8,校驗(yàn)規(guī)則是:utf8_ general_ ci ,配置文件在哪里,在在數(shù)據(jù)庫基礎(chǔ)一節(jié)提過;
創(chuàng)建一個(gè)使用utf8字符集的 db2 數(shù)據(jù)庫
create database db2 charset=utf8;
創(chuàng)建一個(gè)使用utf字符集,并帶校對規(guī)則的 db3 數(shù)據(jù)庫。
create database db3 charset=utf8 collate utf8_general_ci; create database db3 charset=utf8 collate=utf8_general_ci; =可以加可以不加
??字符集和校驗(yàn)規(guī)則
查看系統(tǒng)默認(rèn)字符集以及校驗(yàn)規(guī)則
show variables like 'character_set_database';

show variables like 'collation_database';

查看數(shù)據(jù)庫支持的字符集
show charset;

字符集主要是控制用什么語言。
比如utf8就可以使用中文。
查看數(shù)據(jù)庫支持的字符集校驗(yàn)規(guī)則
show collation;

校驗(yàn)規(guī)則對數(shù)據(jù)庫的影響
不區(qū)分大小寫
創(chuàng)建一個(gè)數(shù)據(jù)庫,校驗(yàn)規(guī)則使用utf8_ general_ ci[不區(qū)分大小寫]
create database test1 collate utf8_general_ci;
使用test1庫,在庫中創(chuàng)建一個(gè)表結(jié)構(gòu)
use test1 create table person(name varchar(20));
在表中插入數(shù)據(jù)
insert into person values('a');
insert into person values('A');
insert into person values('b');
insert into person values('B');區(qū)分大小寫
創(chuàng)建一個(gè)數(shù)據(jù)庫,校驗(yàn)規(guī)則使用utf8_ bin[區(qū)分大小寫]
create database test2 collate utf8_bin;
使用test2數(shù)據(jù)庫并創(chuàng)建一個(gè)表結(jié)構(gòu)
use test2 create table person(name varchar(20));
插入和上面一樣的數(shù)據(jù)
insert into person values('a');
insert into person values('A');
insert into person values('b');
insert into person values('B');進(jìn)行查詢
不區(qū)分大小寫的查詢以及結(jié)果
mysql> use test1; mysql> select * from person where name='a';

區(qū)分大小寫的查詢以及結(jié)果

??操縱數(shù)據(jù)庫
?查看數(shù)據(jù)庫
show databases;

查看當(dāng)前在哪一個(gè)庫中:
select database();

顯示創(chuàng)建語句
show create database 數(shù)據(jù)庫名;
示例:
mysql> show create database test2;

說明:
- MySQL 建議我們關(guān)鍵字使用大寫,但是不是必須的。
- 數(shù)據(jù)庫名字的反引號``,是為了防止使用的數(shù)據(jù)庫名剛好是關(guān)鍵字
- /*!40100 default… */ 這個(gè)不是注釋,表示當(dāng)前mysql版本大于4.01版本,就執(zhí)行這句話
??修改數(shù)據(jù)庫 語法:
alter database 庫名稱 庫屬性(比如:charset=utf8) ;

說明:
- 對數(shù)據(jù)庫的修改主要指的是修改數(shù)據(jù)庫的字符集,校驗(yàn)規(guī)則
- 實(shí)例: 將 test3 數(shù)據(jù)庫字符集改成 gbk

?數(shù)據(jù)庫刪除
drop database [if exists] 庫名稱;
執(zhí)行刪除之后的結(jié)果:
- 數(shù)據(jù)庫內(nèi)部看不到對應(yīng)的數(shù)據(jù)庫
- 對應(yīng)的數(shù)據(jù)庫文件夾被刪除,級聯(lián)刪除,里面的數(shù)據(jù)表全部被刪
注意:不要隨意刪除數(shù)據(jù)庫
示例:

??備份和恢復(fù)
備份
語法:
#mysqldump -P3306 -u root -p 密碼 -B 數(shù)據(jù)庫名 > 數(shù)據(jù)庫備份存儲(chǔ)的文件路徑
示例:將db2庫備份到文件(退出連接)
root@iZ2vcb2izu72dt7ghpv46fZ:~/Lwork/MySQL# mysqldump -P3306 -u root -p -B db2> ./file
這時(shí),可以打開看看 file文件里的內(nèi)容,其實(shí)把我們整個(gè)創(chuàng)建數(shù)據(jù)庫,建表,導(dǎo)入數(shù)據(jù)的語句都裝載這個(gè)文件中。

還原
mysql> source /root/Lwork/MySQL/file
操作前:

操作后:


注意事項(xiàng)
如果備份的不是整個(gè)數(shù)據(jù)庫,而是其中的一張表,怎么做?
#mysqldump -u root -p 數(shù)據(jù)庫名 表名1 表名2 > D:/mytest.sql
同時(shí)備份多個(gè)數(shù)據(jù)庫
#mysqldump -u root -p -B 數(shù)據(jù)庫名1 數(shù)據(jù)庫名2 ... > 數(shù)據(jù)庫存放路徑
注意:如果備份一個(gè)數(shù)據(jù)庫時(shí),沒有帶上-B參數(shù), 在恢復(fù)數(shù)據(jù)庫時(shí),需要先創(chuàng)建空數(shù)據(jù)庫,然后使用數(shù)據(jù)庫,再使用source來還原
?查看連接情況
語法:
show processlist

可以告訴我們當(dāng)前有哪些用戶連接到我們的MySQL,如果查出某個(gè)用戶不是你正常登陸的,很有可能你的數(shù)據(jù)庫被人入侵了。大家發(fā)現(xiàn)自己數(shù)據(jù)庫比較慢時(shí),可以用這個(gè)指令來查看數(shù)據(jù)庫連接情況。
到此這篇關(guān)于MySQL庫的基礎(chǔ)操作入門指南的文章就介紹到這了,更多相關(guān)mysql庫操作內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
mysql數(shù)據(jù)庫無法被其他ip訪問的解決方法
這篇文章主要給大家介紹了關(guān)于mysql數(shù)據(jù)庫無法被其他ip訪問的解決方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2017-09-09
草稿整理后mysql兩個(gè)數(shù)據(jù)庫結(jié)構(gòu)對比
這篇文章主要為大家詳細(xì)介紹了mysql兩個(gè)數(shù)據(jù)庫結(jié)構(gòu)對比結(jié)果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2022-02-02
Mysql之如何實(shí)現(xiàn)行列轉(zhuǎn)換
這篇文章主要介紹了Mysql之如何實(shí)現(xiàn)行列轉(zhuǎn)換問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-06-06
使用mysqladmin檢測MySQL運(yùn)行狀態(tài)的教程
這篇文章主要介紹了使用mysqladmin檢測MySQL運(yùn)行狀態(tài)的教程,包括mysqladmin工具簡單的awk使用,需要的朋友可以參考下2015-06-06
MySQL5.6遷移到DM8的實(shí)現(xiàn)示例
本文主要介紹了MySQL5.6遷移到DM8的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-08-08
MySQL性能優(yōu)化之一條SQL在MySQL中執(zhí)行的過程詳解
天天和數(shù)據(jù)庫打交道,一天能寫上幾十條 SQL 語句,但你知道系統(tǒng)是如何和數(shù)據(jù)庫交互的嗎?下面這篇文章主要給大家介紹了關(guān)于MySQL性能優(yōu)化之一條SQL在MySQL中執(zhí)行的過程的相關(guān)資料,需要的朋友可以參考下2023-02-02
30個(gè)mysql千萬級大數(shù)據(jù)SQL查詢優(yōu)化技巧詳解
本文總結(jié)了30個(gè)mysql千萬級大數(shù)據(jù)SQL查詢優(yōu)化技巧,特別適合大數(shù)據(jù)里的MYSQL使用2018-03-03

