MySQL 数据库的创建、修改、删除、跳转

一. 创建数据库

[] 代表可选项。

IF NOT EXISTS:在创建数据库之前进行判断,只有该数据库目前尚不存在时才能执行操作。

<数据库名>:创建数据库的名称。MySQL 的数据存储区将以目录方式表示 MySQL 数据库,因此数据库名称必须符合操作系统的文件夹命名规则,注意在 MySQL 中不区分大小写。

[DEFAULT] CHARACTER SET:指定数据库的默认字符集。

[DEFAULT] COLLATE:指定字符集的默认校对规则。校对规则是在字符集内用于字符比较和排序的一套规则,比如有的规则区分大小写,有的则无视。校对规则以其相关的字符集名开始,中间包括一个语言名,并且以_ci(大小写不敏感)、_cs(大小写敏感)或_bin(二元)结束

1.1 查看当前字符集和校对规则

# 查看当前字符集和校对规则
show variables like 'collation_%';

# 查看所有校对规则
 show collation;

1.2 数据库创建语法:

CREATE DATABASE [IF NOT EXISTS] <数据库名>
[[DEFAULT] CHARACTER SET <字符集名>] [[DEFAULT] COLLATE <校对规则名>];

1.3 简单的创建数据库

CREATE DATABASE test_db;
CREATE DATABASE IF NOT EXISTS test_db;

1.4 创建时指定字符集和校验规则

CREATE DATABASE IF NOT EXISTS test_db_char DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

# 查看定义
SHOW CREATE DATABASE test_db_char;

二、查看数据库

1.1 查看所有数据库

mysql> show databases;
+--------------------+
| Database |
+--------------------+
| atmuser |
| information_schema |
| mysql |
| performance_schema |
| sys |
| test_db |
| test_db_char |
+--------------------+
7 rows in set (0.00 sec)

1.2 模糊查询数据库

SHOW DATABASES [LIKE '数据库名'];
# 用‘%’进行模糊查询,如:%test%,查询中间包含test字符的数据库,%test,查询以test结尾的数据库

e.g.

mysql> show databases like 'test%';
+------------------+
| Database (test%) |
+------------------+
| test_db          |
| test_db_char     |
+------------------+

三、修改数据库

1.1 语法:

ALTER DATABASE 用于更改数据库的全局特性。这些特性存储在数据库目录的 db.opt 文件中。

使用 ALTER DATABASE 需要获得数据库 ALTER 权限。

数据库名称可以忽略,此时语句对应于默认数据库。

CHARACTER SET 子句用于更改默认的数据库字符集。

ALTER DATABASE [数据库名] { [ DEFAULT ] CHARACTER SET <字符集名> |
[ DEFAULT ] COLLATE <校对规则名>}

1.2 修改数据库字符集

# 查看数据库定义声明: show create database <database name>;
mysql> show create database test_db;
+----------+-----------------------------------------------------------------------------------------------------------------------------------+
| Database | Create Database |
+----------+-----------------------------------------------------------------------------------------------------------------------------------+
| test_db | CREATE DATABASE `test_db` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci */ /*!80016 DEFAULT ENCRYPTION='N' */ |
+----------+-----------------------------------------------------------------------------------------------------------------------------------+

修改数据库‘test_db’的字符集和校对规则

ALTER DATABASE test_db DEFAULT CHARACTER SET gb2312 DEFAULT COLLATE gb2312_chinese_ci;

查看是否修改完成:

mysql> show create database test_db;
+----------+-------------------------------------------------------------------------------------------------------+
| Database | Create Database |
+----------+-------------------------------------------------------------------------------------------------------+
| test_db | CREATE DATABASE `test_db` /*!40100 DEFAULT CHARACTER SET gb2312 */ /*!80016 DEFAULT ENCRYPTION='N' */ |
+----------+-------------------------------------------------------------------------------------------------------+

四、删除数据库

1.1 删除数据库命令:drop database ;

DROP DATABASE test_db_del;

1.2 带有判断的删除:drop database if exists ;

DROP DATABASE IF EXISTS test_db_del;

五、使用、跳转数据库

1.1 命令:

USE 语句用来完成一个数据库到另一个数据库的跳转。当创建一个数据库时,系统不会将其作为当前数据库,需要手动使用USE语句来将其指定为当前默认数据库。

语法:USE <DB_name>

mysql> use test_db
Database changed
posted @ 2019-11-27 14:32  wztshine  阅读(653)  评论(0编辑  收藏  举报