创建数据库:
CREATE DATABASE [IF NOT EXISTS] <数据库名>
[[DEFAULT] CHARACTER SET <字符集名>]
[[DEFAULT] COLLATE <校对规则名>];
<数据库名>:创建数据库的名称。MySQL 的数据存储区将以目录方式表示 MySQL 数据库,因此数据库名称必须符合操作系统的文件夹命名规则,不能以数字开头,尽量要有实际意义。注意在 MySQL 中不区分大小写。
IF NOT EXISTS:在创建数据库之前进行判断,只有该数据库目前尚不存在时才能执行操作。此选项可以用来避免数据库已经存在而重复创建的错误。
[DEFAULT] CHARACTER SET:指定数据库的字符集。避免在数据库中存储的数据出现乱码的情况。如果不指定字符集,默认使用系统的字符集。
[DEFAULT] COLLATE:指定字符集的默认校对规则。
字符集是用来定义 MySQL 存储字符串的方式,校对规则定义了比较字符串的方式。
例:(test_db在原先的数据库中不存在,MySQL 不允许在同一系统下创建两个相同名称的数据库)
CREATE DATABASE IF NOT EXISTS test_db CHARACTER SET utf8;
查看数据库
SHOW DATABASES [LIKE ‘数据库名’];
[LIKE ‘数据库名’]:从句是可选项,用于匹配指定的数据库名称,
数据库名由单引号’ '包围。
例:
SHOW DATABASES;
系统自己创建的数据库:
information_schema:主要存储了系统中的一些数据库对象信息,比如用户表信息、列信息、权限信息、字符集信息和分区信息等。
mysql:MySQL 的核心数据库,类似于 SQL Server 中的 master 表,主要负责存储数据库用户、用户访问权限等 MySQL 自己需要使用的控制和管理信息。常用的比如在 mysql 数据库的 user 表中修改 root 用户密码。
performance_schema:主要用于收集数据库服务器性能参数。
sys:MySQL 5.7 安装完成后会多一个 sys 数据库。sys 数据库主要提供了一些视图,数据都来自于 performation_schema,主要是让开发者和使用者更方便地查看性能问题。
SHOW DATABASES LIKE '%test%';
修改数据库
ALTER DATABASE [数据库名] {
[ DEFAULT ] CHARACTER SET <字符集名> |
[ DEFAULT ] COLLATE <校对规则名>}
ALTER DATABASE: 用于更改数据库的全局特性。使用 ALTER DATABASE 需要获得数据库 ALTER 权限。数据库名称可以忽略,此时语句对应于默认数据库。
CHARACTER SET: 子句用于更改默认的数据库字符集。
删除数据库
DROP DATABASE [ IF EXISTS ] <数据库名>
<数据库名>:指定要删除的数据库名。
IF EXISTS:用于防止当数据库不存在时发生错误。
DROP DATABASE:删除数据库中的所有表格并同时删除数据库。使用此语句时要非常小心,以免错误删除。如果要使用 DROP DATABASE,需要获得数据库 DROP 权限。
例:(执行完删除操作后,刷新数据库SHOW DATABASES;)
DROP DATABASE IF EXISTS test_db;
使用数据库
当用 CREATE DATABASE 语句创建数据库之后,该数据库不会自动成为当前数据库,需要用 USE 来指定当前数据库。
USE <数据库名>
通知 MySQL 把<数据库名>所指示的数据库作为当前数据库。
例:
USE test_db;