购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

3.1 数据库的基本操作

数据库是一个以特定方式存储数据库对象的容器。简而言之,数据库就是一个存储数据的地方,可以将其想象成一个档案馆,而数据库对象则是存放在档案馆中的各种文件,并且是按照特定规律和格式存放的,这样可以方便管理和处理。数据库的操作包括创建数据库和删除数据库等,这些操作都是数据库管理的基础。

3.1.1 查看数据库

MySQL服务器在安装和配置完成之后,就已经包含一些必要的系统库了,可以使用SHOW语句进行查看,语法格式如下。

SQL语句示例如下。

可以看到,数据库列表中包含了4个数据库。

· mysql:MySQL服务器的核心数据库,存储了MySQL服务器正常运行所需的各种信息,包含关于数据库对象元数据(metadata)的数据字典表和系统表。

· information_schema:提供了访问数据库元数据的各种视图,包括数据库的名、数据库的表、访问权限、数据库表字段的数据类型,数据库索引的信息等。

· performance_schema:主要用于收集数据库服务器的性能参数,为MySQL服务器的运行时状态提供了一个底层的监控功能。

· sys:包含一系列方便DBA和开发人员利用performance_schema性能数据库进行性能调优和诊断的视图。其目标是把performance_schema的复杂度降低,让DBA能更好地阅读这个库中的内容,更快地了解DB的运行情况。

3.1.2 创建数据库

第3.1.1节列出的4个系统库,是用于保证MySQL服务器运行和管理功能的基本库,这些数据库不是给用户存储自己的数据用的。所以,用户需要创建新的数据库来存储自己的数据。创建数据库是在系统磁盘上划分一块区域用于数据的存储和管理。

在MySQL中创建数据库的基本SQL语法格式如下。

注意,新创建的数据库不能与已有的数据库重名。

例如,创建“atguigu_chapter3”数据库,SQL语句示例如下。

在数据库建好后,可以使用SHOW语句进行查看。

可以看到,数据库列表中多了一个新建的“atguigu_chapter3”数据库。

我们还可以使用另一个SHOW语句查看数据库的定义,语法格式如下。

例如,查看“atguigu_chapter3”数据库的定义,SQL语句示例如下。

说明:“\G”和“;”是在“命令行客户端”中用于结束SQL语句的。而“\G”的作用是将查找到的内容结构旋转90度,变成纵向结构。

从上面数据库的定义信息中发现,数据库的定义不仅只是数据库名称,还有字符集和字符集校对规则。如果在创建数据库时没有指定字符集和字符集校对规则,就会使用系统默认的。我们也可以在创建数据库时指定数据库的字符集,关于字符集和校对规则请看3.4.2节。

在MySQL中创建数据库时指定字符集和字符集校对规则的基本SQL语法格式如下。

例如,创建“atguigu_chapter3_two”数据库时指定字符集为“utf8mb4”,校对规则为“utf8mb4_0900_ai_ci”,SQL语句示例如下。

3.1.3 修改数据库

关于数据库的信息修改,主要就是字符集和校对规则的修改,不能修改数据库的名称。可以使用ALTER语句修改数据库的字符集和校对规则,语法格式如下。

例如,将“atguigu_chapter3_two”数据库的字符集修改为“utf8”,校对规则修改为“utf8_general_ci”,SQL语句示例如下。

修改后使用SHOW CREATE DATABASE语句查看“atguigu_chapter3_two”数据库的定义。

3.1.4 删除数据库

删除数据库是将已经存在的数据库从磁盘空间上清除,清除后数据库中所有数据将一起被删除。

删除数据库的语法格式如下。

例如,删除“atguigu_chapter3_two”数据库,SQL语句示例如下。

在数据库删除后,可以使用SHOW DATABASES语句进行查看。

注意,使用DROP DATABASE语句时要非常谨慎,因为在执行该语句时,MySQL不会给出任何提醒确认信息,用DROP DATABASE语句删除数据库后,数据库中存储的所有数据表和数据也将一起被删除,而且不能恢复,或者说只能恢复到之前的某个备份。

3.1.5 使用数据库

创建完数据库后,就可以在数据库中创建表、视图、函数、存储过程等数据库对象了,但是通常需要先通过USE语句指定针对哪个数据库进行操作,否则会报“No database selected”的错误,或者在创建和使用数据库对象时必须加上“数据库名.”的前缀,这样比较麻烦。使用USE语句的语法格式如下。

SQL语句示例如下。

注意,要使用的数据库必须存在,否则会报“Unknown database数据库名”的错误。 Ry65pKpGQ5GSI5yYSPZFGZ2nQePhszaK3Q7uivaXUBrl36WwF873+KK+zhgzFF3r

点击中间区域
呼出菜单
上一章
目录
下一章
×