MySQL 資料庫操作

雲崖先生發表於2020-08-28

系統庫

   MySQL在初始化後會建立一些系統庫,不同的系統庫有不同的用處。

   information_schema: 虛擬庫,不佔用磁碟空間,儲存的是資料庫啟動後的一些引數,如使用者表資訊、列資訊、許可權資訊、字元資訊等

   performance_schemaMySQL5.5開始新增一個資料庫:主要用於收集資料庫伺服器效能引數,記錄處理查詢請求時發生的各種事件、鎖等現象

   mysql: 授權庫,主要儲存系統使用者的許可權資訊

   testMySQL資料庫系統自動建立的測試資料庫(看下載的是不是有測試套件的版本)

建立資料庫

   語法:create database 資料庫名 charset 字元編碼;

   命名規則:可以由字母、數字、下劃線、,區分大小寫,具有唯一性,不能使用關鍵字,不能單獨使用數字,最長128位

   以下示例將演示建立出一個名為school的資料庫

mysql> create database school charset utf8;
Query OK, 1 row affected (0.00 sec)

mysql>

檢視資料庫

   使用show databases;可檢視所有的資料庫

   使用show create database 資料庫名;可檢視某一資料庫的建立資訊

   使用select database();可檢視當前所在的資料庫

   檢視所有資料庫

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| school             |
| sys                |
+--------------------+
5 rows in set (0.00 sec)

mysql>

   檢視資料庫的建立資訊

mysql> show create database school;
+----------+-----------------------------------------------------------------+
| Database | Create Database                                                 |
+----------+-----------------------------------------------------------------+
| school   | CREATE DATABASE `school` /*!40100 DEFAULT CHARACTER SET utf8 */ |
+----------+-----------------------------------------------------------------+
1 row in set (0.00 sec)

mysql>

   檢視當前所在的資料庫

mysql> use school;  #進入school資料庫
Database changed
mysql> select database();
+------------+
| database() |
+------------+
| school     |
+------------+
1 row in set (0.00 sec)

mysql>

進入資料庫

   使用use 資料庫名可進入指定的資料庫

   以下將演示從school資料庫中進入mysql內建授權庫中

mysql> use school;
Database changed
mysql> select database();
+------------+
| database() |
+------------+
| school     |
+------------+
1 row in set (0.00 sec)

mysql> use mysql;
Database changed
mysql> select database();
+------------+
| database() |
+------------+
| mysql      |
+------------+
1 row in set (0.00 sec)

mysql>

修改資料庫

   修改資料庫無非是修改其字元編碼,使用alter database 資料庫名 charset 字元編碼;進行修改

   以下示例將展示將school資料庫字元編碼utf8修改為gbk,再將其改回來的操作;

mysql> show create database school;
+----------+-----------------------------------------------------------------+
| Database | Create Database                                                 |
+----------+-----------------------------------------------------------------+
| school   | CREATE DATABASE `school` /*!40100 DEFAULT CHARACTER SET utf8 */ |
+----------+-----------------------------------------------------------------+
1 row in set (0.00 sec)

mysql> alter database school charset gbk;
Query OK, 1 row affected (0.00 sec)

mysql> show create database school;
+----------+----------------------------------------------------------------+
| Database | Create Database                                                |
+----------+----------------------------------------------------------------+
| school   | CREATE DATABASE `school` /*!40100 DEFAULT CHARACTER SET gbk */ |
+----------+----------------------------------------------------------------+
1 row in set (0.00 sec)

mysql> alter database school charset utf8;
Query OK, 1 row affected (0.00 sec)

mysql> show create database school;
+----------+-----------------------------------------------------------------+
| Database | Create Database                                                 |
+----------+-----------------------------------------------------------------+
| school   | CREATE DATABASE `school` /*!40100 DEFAULT CHARACTER SET utf8 */ |
+----------+-----------------------------------------------------------------+
1 row in set (0.00 sec)

mysql>

刪除資料庫

   使用drop database 資料庫名;可對資料庫進行刪除

   為了防止刪除不存在的資料庫報錯可以使用if判斷要執行刪除的資料庫是否存在,,drop database if exists 資料庫名;

mysql> drop database if exists school;
Query OK, 0 rows affected (0.00 sec)

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)

mysql>

相關文章