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 changedmysql> 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:零碎库应用根底环境。