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_schema
: MySQL5.5
开始新增一个数据库:次要用于收集数据库服务器性能参数,记录解决查问申请时产生的各种事件、锁等景象。
mysql
: 受权库,次要存储系统用户的权限信息
sys
:零碎库应用根底环境。