跳至主要內容

MySQL数据库操作

大约 4 分钟约 1115 字

系统数据库

系统数据库是指在安装完MySQL服务器后系统自动创建的一些服务器后,会附带一些数据库,例如,在默认安装MySQL数据库之后,会默认创建如下数据库,它们就被称为系统数据库,这些数据库存储了必须的系统信息,用户不能直接修改。

information_schema数据库:主要存储MySQL服务器所有数据库的信息,如数据库的名,数据库的表,访问权限,数据库表的存储类型,数据库索引信息等。

mysql数据库:是MySQL的核心数据库,主要负责存储数据库的用户,权限设置,关键字等MySQL自己需要使用的控制和管理信息。

performance_schema数据库:主要收集数据库主要性能参数,可用于监控数据库服务器在一个较低级别的运行过程中的资源消耗,资源等待等状况。

sys数据库:它所有的数据源都来自performance_schema,目标是把performance_schema的复杂度降低,让DBA能更好地阅读这个库里的内容,让DBA更快地了解DB的运行情况。

创建数据库

在MySQL中,可以使用CREATE DATABASE语句和CREATE SCHEMA语句创建MySQL数据库,语法如下:

CREATE {DATABASE|SCHEMA} [IF NOT EXISTS] 数据库名
[
    [DEFAULT] CHARACTER SET [=] 字符集 |
    [DEFAULT] COLLATE [=] 校对规则名称
];

注:在语法中,花括号“{}”表示必选项,中括号“[]”表示可选项,“|”表示分隔符两侧内容为“或”的关系。在上方的语法中,{DATABASE|SCHEMA} 表示要么使用DATABASE关键字或者使用SCHEMA关键字,但不能不使用。

其中,数据库名必须指定,在文件系统中,MySQL的数据存储区将以目录方式表示MySQL数据库,因此这里的数据库名必须符合系统文件夹的命名规则,而在MySQL中是不区分大小写的。

[DEFAULT]:可选项,表示指定默认值。

CHARCTER SET [=] 字符集:用于指定数据库的字符集,若不想指定字符集则可以不添加,字符集可以是UTF-8,GBK,GB2312,BIG5等。

COLLATE [=] 校对规则名称:可选项,用于指定字符集的校对规则,例如utf8_bin或者gbk_chinese_bi。

CREATE DATABASE 创建数据库

create database db_admin;
运行结果
运行结果

CREATE SCHEMA 创建数据库

create schema db_admin1;
运行结果
运行结果

创建带指定字符集的数据库

create database db_admin2 character set utf8;
运行结果
运行结果

创建数据库之前检测是否已经存在同名数据库

create database db_admin if not exists;
运行结果
运行结果

创建此数据库之前,由于同名的数据库已经存在,所以并没有创建成功。

查看数据库

成功创建数据库之后,使用show命令查看MySQL服务器中的所有数据库信息,语法如下:

SHOW {DATABASES|SCHEMAS} [LIKE '模式' WHERE '条件'];

其中,LIKE是可选项,用于指定匹配模式。

WHERE也为可选项,用于指定数据库名称查询范围的条件。

查看上方创建的数据库

show databases;
运行结果
运行结果

筛选以db开头的数据库

show databases like 'db_%';
运行结果
运行结果

选择数据库

在MySQL中,创建数据库后,该数据库并不会自动成为当前数据库,需要使用MySQL提供的USE语句,语法如下:

USE 数据库名;

选择一个数据库

use db_admin;
运行结果
运行结果

修改数据库

在MySQL中,创建一个数据库后,还可以对齐修改,如修改编码格式,修改校对规则等,语法·规则如下:

ALTER {DATABASE|SCHEMA} [数据库名]
[DEFAULT] CHARACTER [=] 字符集
[DEFAULT] COLLATE [=] 校对规则民称;

更改db_admin中的编码和校对规则

alter database db_admin default character set gbk default collate gbk_chinese_ci;
运行结果
运行结果

删除数据库

在MySQL中,可以使用DROP DATABASES或者DROP SCHEMA删除已经存在的数据库,在删除数据库之后,该数据库之中的所有数据表以及所有数据都会删除且无法撤销,因此在删除之前要多加思考。删除数据库的语法如下:

DROP {DATABASES|SCHEMA} [IF EXISTS] 数据库名;

删除数据库db_admin

drop database db_admin;
运行结果
运行结果
上次编辑于:
贡献者: QI