創建數據庫
CREATE DATABASE [IF NOT EXISTS] db_name [create_specification [, create_specification]
...]
create_specification:
[DEFAULT] CHARACTER SET charset_name
[DEFAULT] COLLATE collation_name
說明:
- 大寫的表示關鍵字
- [] 是可選項
- CHARACTER SET: 指定數據庫採用的字符集
- COLLATE: 指定數據庫字符集的校驗規則
字符集和校驗規則
查看默認字符集以及校驗規則
show variables like 'character_set_database';
show varieables like 'collation_database';
查看數據庫支持的字符集
show charset;
查看數據庫支持的字符集校驗規則
show collation;
校驗規則對數據庫的影響
- 不區分大小寫
創建一個數據庫,校驗規則使用utf8_general_ci[不區分大小寫]
create database test collate utf8_general_ci ;
- 區分大小寫
創建一個數據庫,校驗規則使用utf8_bin[區分大小寫]
create database test collate uft8_bin;
操縱數據庫
查看數據庫
show databases;
顯示創建語句
show create database 數據庫名;
說明
- MySQL 建議我們關鍵字使用大寫,但是不是必須的。
- 數據庫名字的反引號``,是爲了防止使用的數據庫名剛好是關鍵字
- /*!40100 default… */ 這個不是註釋,表示當前mysql版本大於4.01版本,就執行這句話
修改數據庫
ALTER DATABASE db_name
[alter_spacification [,alter_spacification]...]
alter_spacification:
[DEFAULT] CHARACTER SET charset_name
[DEFAULT] COLLATE collation_name
說明:對數據庫的修改主要指的是修改數據庫的字符集,校驗規則
數據庫的刪除
DROP DATABASE [IF EXISTS] db_ name;
執行刪除之後的結果:
- 數據庫內部看不到對應的數據庫
- 對應的數據庫文件夾被刪除,級聯刪除,裏面的數據表全部被刪
建議不要直接刪除數據庫
數據庫的備份和恢復
備份
語法:
# mysqldump -P3306 -u root -p 密碼 -B 數據庫名 > 數據庫備份存儲的文件路徑
舉個例子:
將mytest數據庫備份到文件
# mysqldump -P3306 -u root -p123456 -B mytest > ./mytest.sql
- 如果備份的不是整個數據庫,而是其中的一張表,怎麼做?
# mysqldump -u root -p 數據庫名 表名1 表名2 > ./mytest.sql
- 同時備份多個數據庫
# mysqldump -u root -p -B 數據庫名1 數據庫名2 ... > 數據庫存放路徑
- 如果備份一個數據庫時,沒有帶上-B參數, 在恢復數據庫時,需要先創建空數據庫,然後使用數據庫,再使用source來還原。
還原
mysql> source D:/mysql-5.7.22/mytest.sql;
查看連接情況
show processlist;