在MySQL数据库中,schema和database是同义词,create schema 和 create database是等效的,show databases 和 show schemas得到的结果也相同。

但在其它数据库中,schema和database是两个不同的概念。

 

MySQL数据库中存在系统数据库和用户自定义数据库。系统数据库是在初始化MySQL后系统自带的数据,自定义数据库是由用户定义创建的数据库。

系统数据库有:

1. information_schema:主要存储了系统中的一些数据库对象信息,如用户表信息、列信息、权限信息、字符集信息和分区信息等;

2. mysql:是MySQL的核心数据库,类似于SQL server中的master表,主要负责存储数据库用户、用户访问权限等MySQL自己需要使用的控制和管理信息,常用的比如在mysql数据库的user表中修改root用户密码;

3. performance_schema:主要用于手机数据库服务器性能参数;

4. sys:主要提供了一些视图,数据都来自performance_schema,主要是让开发者和使用者更方便的查看性能问题;

 

一些版本的MySQL初始化完成后,可能还会有sakila和world两个数据库,其中sakila是MySQL提供的样例数据库,该数据库共有16张表,在设计数据库时,可以参照这些样例表来快速完成所需的数据表创建;world中只包括3张数据表,分别保存城市、国家和国家使用的语言等内容;

 

在MySQL中,用户可以创建自定义数据库,有如下两种方法:

1. 使用create database命令创建数据库,可以输入help create database; 命令查看语法帮助:

pg中database 和 schema区别 schema与database_MySQL

如:create database test;

2. 使用mysqladmin工具创建数据库,可以使用mysqladmin --help命令查看该工具用法

如:mysqladmin -u root -p create test

 

可以使用show create database database_name命令查看数据库的创建语句,只能看用户自定义的数据库,无法查看系统数据库。

可以使用use database_name命令指定使用哪个数据库;

可以使用show databases命令查看有哪些数据库;

 

删除自定义数据库,有两种方法:

1. drop database database_name;

2. mysqladmin -u root -p drop database_name