查看數(shù)據(jù)庫(kù)
使用show databases;可查看所有的數(shù)據(jù)庫(kù)。
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.03 sec)
使用show create database 數(shù)據(jù)庫(kù)名;可查看某一數(shù)據(jù)庫(kù)的創(chuàng)建信息。
mysql> show create database mysql;
+----------+---------------------------------------------------------------------------------------------------------------------------------+
| Database | Create Database |
+----------+---------------------------------------------------------------------------------------------------------------------------------+
| mysql | CREATE DATABASE `mysql` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci */ /*!80016 DEFAULT ENCRYPTION='N' */ |
+----------+---------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.01 sec)
使用select database();可查看當(dāng)前所在的數(shù)據(jù)庫(kù)。
mysql> select database();
+------------+
| database() |
+------------+
| mysql |
+------------+
1 row in set (0.00 sec)
使用show variables like 'character%';可查看數(shù)據(jù)庫(kù)編碼集。
mysql> show variables like 'character%';
+--------------------------+--------------------------------+
| Variable_name | Value |
+--------------------------+--------------------------------+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | utf8mb4 |
| character_set_filesystem | binary |
| character_set_results | latin1 |
| character_set_server | utf8mb4 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql-8.0/charsets/ |
+--------------------------+--------------------------------+
8 rows in set (0.00 sec)
創(chuàng)建數(shù)據(jù)庫(kù)
使用create database 數(shù)據(jù)庫(kù)名 charset 字符編碼;可創(chuàng)建數(shù)據(jù)庫(kù)。
命名規(guī)則:
- 數(shù)字、字母、下劃線,
@、#、$。 - 庫(kù)名區(qū)分字母大小寫(xiě)。
- 不能使用特殊字符和mysql關(guān)鍵字,不能單獨(dú)使用數(shù)字,最長(zhǎng)128位。
mysql> create database students charset utf8;
Query OK, 1 row affected, 1 warning (0.05 sec)
切換數(shù)據(jù)庫(kù)
使用use 數(shù)據(jù)庫(kù)名;可進(jìn)入指定的數(shù)據(jù)庫(kù)。
mysql> use students;
Database changed
mysql> select database();
+------------+
| database() |
+------------+
| students |
+------------+
1 row in set (0.00 sec)
修改數(shù)據(jù)庫(kù)
使用alter database 數(shù)據(jù)庫(kù)名 charset 字符編碼;
mysql> show create database students;
+----------+------------------------------------------------------------------------------------------------------+
| Database | Create Database |
+----------+------------------------------------------------------------------------------------------------------+
| students | CREATE DATABASE `students` /*!40100 DEFAULT CHARACTER SET utf8 */ /*!80016 DEFAULT ENCRYPTION='N' */ |
+----------+------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
mysql> alter database students charset=gbk;
Query OK, 1 row affected (0.01 sec)
mysql> show create database students;
+----------+-----------------------------------------------------------------------------------------------------+
| Database | Create Database |
+----------+-----------------------------------------------------------------------------------------------------+
| students | CREATE DATABASE `students` /*!40100 DEFAULT CHARACTER SET gbk */ /*!80016 DEFAULT ENCRYPTION='N' */ |
+----------+-----------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
刪除數(shù)據(jù)庫(kù)
使用drop database 數(shù)據(jù)庫(kù)名;可對(duì)數(shù)據(jù)庫(kù)進(jìn)行刪除操作。
為了防止刪除不存在的數(shù)據(jù)庫(kù)報(bào)錯(cuò)可以使用if判斷要執(zhí)行刪除的數(shù)據(jù)庫(kù)是否存在,drop database if exists 數(shù)據(jù)庫(kù)名;
mysql> drop database if exists students;
Query OK, 0 rows affected (0.09 sec)
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.00 sec)
系統(tǒng)庫(kù)
MySQL在初始化后會(huì)創(chuàng)建一些系統(tǒng)庫(kù),不同的系統(tǒng)庫(kù)有不同的用處。
information_schema: 虛擬庫(kù),不占用磁盤(pán)空間,存儲(chǔ)的是數(shù)據(jù)庫(kù)啟動(dòng)后的一些參數(shù),如用戶表信息、列信息、權(quán)限信息、字符信息等。
performance_schema: MySQL5.5開(kāi)始新增一個(gè)數(shù)據(jù)庫(kù):主要用于收集數(shù)據(jù)庫(kù)服務(wù)器性能參數(shù),記錄處理查詢請(qǐng)求時(shí)發(fā)生的各種事件、鎖等現(xiàn)象。
mysql: 授權(quán)庫(kù),主要存儲(chǔ)系統(tǒng)用戶的權(quán)限信息
sys:系統(tǒng)庫(kù)使用基礎(chǔ)環(huán)境。