关于mysql:MySQL的数据库操作

4次阅读

共计 3604 个字符,预计需要花费 10 分钟才能阅读完成。

MySQL 的数据库操作

查看数据库

应用 show databases; 可查看所有的数据库。

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

应用 show create database 数据库名; 可查看某一数据库的创立信息。

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(); 可查看以后所在的数据库。

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

应用 show variables like 'character%'; 可查看数据库编码集。

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)

创立数据库

应用 create database 数据库名 charset 字符编码; 可创立数据库。

命名规定:

  • 数字、字母、下划线,@#
  • 库名辨别字母大小写。
  • 不能应用特殊字符和 mysql 关键字,不能独自应用数字,最长 128 位。
mysql> create database students charset utf8;
Query OK, 1 row affected, 1 warning (0.05 sec)

切换数据库

应用 use 数据库名; 可进入指定的数据库。

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

批改数据库

应用alter database 数据库名 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)

删除数据库

应用 drop database 数据库名; 可对数据库进行删除操作。

为了避免删除不存在的数据库报错能够应用 if 判断要执行删除的数据库是否存在,drop database if exists 数据库名;

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)

零碎库

MySQL在初始化后会创立一些零碎库,不同的零碎库有不同的用途。

information_schema:虚构库,不占用磁盘空间,存储的是数据库启动后的一些参数,如用户表信息、列信息、权限信息、字符信息等。

performance_schemaMySQL5.5开始新增一个数据库:次要用于收集数据库服务器性能参数,记录解决查问申请时产生的各种事件、锁等景象。

mysql:受权库,次要存储系统用户的权限信息

sys:零碎库应用根底环境。

正文完
 0