MySQL庫(kù)的基礎(chǔ)操作入門案例詳解
?創(chuàng)建數(shù)據(jù)庫(kù)
語(yǔ)法
mysql> create database [if not exists] 庫(kù)的名字 [CHARACTER SET] [COLLATE]
說(shuō)明
: 大小寫都可以。
[ ] 是可選項(xiàng) :
- if not exists 選項(xiàng)表示:如果這個(gè)數(shù)據(jù)庫(kù)不存在,則創(chuàng)建,存在就不創(chuàng)建。
- CHARACTER SET: 指定數(shù)據(jù)庫(kù)采用的字符集
- COLLATE: 指定數(shù)據(jù)庫(kù)字符集的校驗(yàn)規(guī)則 創(chuàng)建數(shù)據(jù)庫(kù)案例
創(chuàng)建名為 db1 的數(shù)據(jù)庫(kù)
create database db1;
注意:
我們創(chuàng)建數(shù)據(jù)庫(kù)沒(méi)有指定字符集和校驗(yàn)規(guī)則時(shí),會(huì)使用默認(rèn)的,也就是配置文件中的,系統(tǒng)使用默認(rèn)字符集:utf8,校驗(yàn)規(guī)則是:utf8_ general_ ci ,配置文件在哪里,在在數(shù)據(jù)庫(kù)基礎(chǔ)一節(jié)提過(guò);
創(chuàng)建一個(gè)使用utf8字符集的 db2 數(shù)據(jù)庫(kù)
create database db2 charset=utf8;
創(chuàng)建一個(gè)使用utf字符集,并帶校對(duì)規(guī)則的 db3 數(shù)據(jù)庫(kù)。
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ù)庫(kù)支持的字符集
show charset;
字符集主要是控制用什么語(yǔ)言。
比如utf8就可以使用中文。
查看數(shù)據(jù)庫(kù)支持的字符集校驗(yàn)規(guī)則
show collation;
校驗(yàn)規(guī)則對(duì)數(shù)據(jù)庫(kù)的影響
不區(qū)分大小寫
創(chuàng)建一個(gè)數(shù)據(jù)庫(kù),校驗(yàn)規(guī)則使用utf8_ general_ ci
[不區(qū)分大小寫]
create database test1 collate utf8_general_ci;
使用test1庫(kù),在庫(kù)中創(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ù)庫(kù),校驗(yàn)規(guī)則使用utf8_ bin[區(qū)分大小寫]
create database test2 collate utf8_bin;
使用test2數(shù)據(jù)庫(kù)并創(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ù)庫(kù)
?查看數(shù)據(jù)庫(kù)
show databases;
查看當(dāng)前在哪一個(gè)庫(kù)中:
select database();
顯示創(chuàng)建語(yǔ)句
show create database 數(shù)據(jù)庫(kù)名;
示例:
mysql> show create database test2;
說(shuō)明:
- MySQL 建議我們關(guān)鍵字使用大寫,但是不是必須的。
- 數(shù)據(jù)庫(kù)名字的反引號(hào)``,是為了防止使用的數(shù)據(jù)庫(kù)名剛好是關(guān)鍵字
- /*!40100 default… */ 這個(gè)不是注釋,表示當(dāng)前mysql版本大于4.01版本,就執(zhí)行這句話
??修改數(shù)據(jù)庫(kù)
語(yǔ)法:
alter database 庫(kù)名稱 庫(kù)屬性(比如:charset=utf8) ;
說(shuō)明:
- 對(duì)數(shù)據(jù)庫(kù)的修改主要指的是修改數(shù)據(jù)庫(kù)的字符集,校驗(yàn)規(guī)則
- 實(shí)例: 將 test3 數(shù)據(jù)庫(kù)字符集改成 gbk
?數(shù)據(jù)庫(kù)刪除
drop database [if exists] 庫(kù)名稱;
執(zhí)行刪除之后的結(jié)果:
- 數(shù)據(jù)庫(kù)內(nèi)部看不到對(duì)應(yīng)的數(shù)據(jù)庫(kù)
- 對(duì)應(yīng)的數(shù)據(jù)庫(kù)文件夾被刪除,級(jí)聯(lián)刪除,里面的數(shù)據(jù)表全部被刪
注意
:不要隨意刪除數(shù)據(jù)庫(kù)
示例:
??備份和恢復(fù)
備份
語(yǔ)法:
#mysqldump -P3306 -u root -p 密碼 -B 數(shù)據(jù)庫(kù)名 > 數(shù)據(jù)庫(kù)備份存儲(chǔ)的文件路徑
示例:將db2庫(kù)備份到文件(退出連接)
root@iZ2vcb2izu72dt7ghpv46fZ:~/Lwork/MySQL# mysqldump -P3306 -u root -p -B db2> ./file
這時(shí),可以打開看看 file文件里的內(nèi)容,其實(shí)把我們整個(gè)創(chuàng)建數(shù)據(jù)庫(kù),建表,導(dǎo)入數(shù)據(jù)的語(yǔ)句都裝載這個(gè)文件中。
還原
mysql> source /root/Lwork/MySQL/file
操作前:
操作后:
注意事項(xiàng)
如果備份的不是整個(gè)數(shù)據(jù)庫(kù),而是其中的一張表,怎么做?
#mysqldump -u root -p 數(shù)據(jù)庫(kù)名 表名1 表名2 > D:/mytest.sql
同時(shí)備份多個(gè)數(shù)據(jù)庫(kù)
#mysqldump -u root -p -B 數(shù)據(jù)庫(kù)名1 數(shù)據(jù)庫(kù)名2 ... > 數(shù)據(jù)庫(kù)存放路徑
注意:
如果備份一個(gè)數(shù)據(jù)庫(kù)時(shí),沒(méi)有帶上-B參數(shù), 在恢復(fù)數(shù)據(jù)庫(kù)時(shí),需要先創(chuàng)建空數(shù)據(jù)庫(kù),然后使用數(shù)據(jù)庫(kù),再使用source來(lái)還原
?查看連接情況
語(yǔ)法:
show processlist
可以告訴我們當(dāng)前有哪些用戶連接到我們的MySQL,如果查出某個(gè)用戶不是你正常登陸的,很有可能你的數(shù)據(jù)庫(kù)被人入侵了。大家發(fā)現(xiàn)自己數(shù)據(jù)庫(kù)比較慢時(shí),可以用這個(gè)指令來(lái)查看數(shù)據(jù)庫(kù)連接情況。
到此這篇關(guān)于MySQL庫(kù)的基礎(chǔ)操作入門指南的文章就介紹到這了,更多相關(guān)mysql庫(kù)操作內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 使用MySQL設(shè)置遠(yuǎn)程數(shù)據(jù)庫(kù)以優(yōu)化網(wǎng)站性能的操作步驟
- MySQL學(xué)習(xí)之DDL數(shù)據(jù)庫(kù)定義與操作
- MySQL數(shù)據(jù)庫(kù)中存儲(chǔ)圖片和讀取圖片的操作代碼
- 在MySQL中奏響數(shù)據(jù)庫(kù)操作的樂(lè)章(推薦)
- Python使用SQLAlchemy操作Mysql數(shù)據(jù)庫(kù)的操作示例
- MySQL對(duì)數(shù)據(jù)庫(kù)和表進(jìn)行DDL命令的操作代碼
- mysql?binlog查看指定數(shù)據(jù)庫(kù)的操作方法
相關(guān)文章
mysql事務(wù)的基本要素與事務(wù)隔離級(jí)別詳解
這篇文章主要介紹了mysql事務(wù)的基本要素與事務(wù)隔離級(jí)別詳解,事務(wù)是一種機(jī)制、一個(gè)操作序列,包含了一組數(shù)據(jù)庫(kù)操作命令,并且把所有的命令作為一個(gè)整體一起向系統(tǒng)提交或撤銷操作請(qǐng)求,需要的朋友可以參考下2023-08-08mysql數(shù)據(jù)庫(kù)無(wú)法被其他ip訪問(wèn)的解決方法
這篇文章主要給大家介紹了關(guān)于mysql數(shù)據(jù)庫(kù)無(wú)法被其他ip訪問(wèn)的解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2017-09-09草稿整理后mysql兩個(gè)數(shù)據(jù)庫(kù)結(jié)構(gòu)對(duì)比
這篇文章主要為大家詳細(xì)介紹了mysql兩個(gè)數(shù)據(jù)庫(kù)結(jié)構(gòu)對(duì)比結(jié)果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助2022-02-02Mysql之如何實(shí)現(xiàn)行列轉(zhuǎn)換
這篇文章主要介紹了Mysql之如何實(shí)現(xiàn)行列轉(zhuǎn)換問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-06-06使用mysqladmin檢測(cè)MySQL運(yùn)行狀態(tài)的教程
這篇文章主要介紹了使用mysqladmin檢測(cè)MySQL運(yùn)行狀態(tài)的教程,包括mysqladmin工具簡(jiǎn)單的awk使用,需要的朋友可以參考下2015-06-06MySQL5.6遷移到DM8的實(shí)現(xiàn)示例
本文主要介紹了MySQL5.6遷移到DM8的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-08-08MySQL性能優(yōu)化之一條SQL在MySQL中執(zhí)行的過(guò)程詳解
天天和數(shù)據(jù)庫(kù)打交道,一天能寫上幾十條 SQL 語(yǔ)句,但你知道系統(tǒng)是如何和數(shù)據(jù)庫(kù)交互的嗎?下面這篇文章主要給大家介紹了關(guān)于MySQL性能優(yōu)化之一條SQL在MySQL中執(zhí)行的過(guò)程的相關(guān)資料,需要的朋友可以參考下2023-02-0230個(gè)mysql千萬(wàn)級(jí)大數(shù)據(jù)SQL查詢優(yōu)化技巧詳解
本文總結(jié)了30個(gè)mysql千萬(wàn)級(jí)大數(shù)據(jù)SQL查詢優(yōu)化技巧,特別適合大數(shù)據(jù)里的MYSQL使用2018-03-03Navicat for MySQL 11注冊(cè)碼\激活碼匯總
Navicat for MySQL注冊(cè)碼用來(lái)激活 Navicat for MySQL 軟件,只要擁有 Navicat 注冊(cè)碼就能激活相應(yīng)的 Navicat 產(chǎn)品。這篇文章主要介紹了Navicat for MySQL 11注冊(cè)碼\激活碼匯總,需要的朋友可以參考下2020-11-11