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

2.1 数据库操作

传统谚语中有句话叫作“没吃过猪肉,也见过猪跑”,这句话在现在已经不适用了,应该改成“没见过猪跑,也吃过猪肉”。

相信大多数程序员都没见过猪跑,但是肯定见过猫或狗跑。因此,假设我们现在是动物园研发部的一名程序员,动物园有成千上万的动物,作为程序员的我们需要记录动物园到底有多少只动物,包括这些动物的名字、性别、年龄、界、门、纲、属以及种等属性。

我们有几种办法存储这些动物的信息,例如Excel表格、数据库等。但Excel表格存储动物信息有以下缺点:

(1)当存储的数据超过几个吉字节时,打开Excel会非常慢。

(2)多人编辑Excel表格比较困难,除非使用在线文档。

(3)无法让Excel表格中的数据排版得更好看。

……

使用数据库存储数据,就没有这些烦恼。

MySQL数据库可以存储的数据量与操作系统的磁盘大小有关。程序员可以连接到MySQL数据库来增、删、改、查数据。如果想让数据排版得更好看,可以开发Web应用,让Web应用的数据从MySQL数据库中获取。

2.1.1 创建第一个数据库

本小节来创建第一个数据库——动物园数据库。可以使用以下3种方法创建动物园数据库:

具体步骤如下:

1.使用Workbench创建动物园数据库

在Workbench窗口选择【Schemas】选项卡,单击创建数据库按钮 ,在【Schema Name】中输入数据库名称“zoo”,然后单击【Apply】按钮,按照图2-1所示的数字步骤操作即可。

图2-1 创建第一个MySQL数据库——动物园数据库

【Character Set】用于设置字符集,一般使用utf8或者utf8mb4。utf8mb4支持每个字符最多使用4字节,它是很多应用的首选字符集,因为它支持大多数扩展字符序(例如日语所用的utf8mb4_ja_0900_as_cs等)以及emoji字符。

2.使用DataGrip创建动物园数据库

选中数据库,右击,在弹出的快捷菜单中依次选择【New】|【Schema】,在弹出的对话框中填写数据库名称zoo,如图2-2和图2-3所示。

图2-2 创建动物园数据库(1)

图2-3 创建动物园数据库(2)

3.使用SQL语句创建动物园数据库

01 在Workbench工作区中执行如下SQL语句:

     -- create 创建,database :数据库,zoo:动物园数据库
     mysql>create database zoo;

02 单击Workbench工作区的执行按钮 即可。

注意 希望读者能掌握通过SQL语句创建客户端这种方式,因为并不是所有的服务器都能安装MySQL客户端,在没有MySQL客户端的环境下,程序员只能使用命令行窗口,通过开发SQL语句进行数据库的创建。介绍Workbench和DataGrip这两种客户端方式创建数据库,是希望读者可以体验不同客户端的功能差异性,并从中选择适合自己的MySQL客户端。在接下来的几个章节中,笔者还会演示这两种不同的客户端如何操作数据库,但是希望读者记住,不要沉迷于不同客户端的使用,重点掌握一种即可。

2.1.2 更新数据库名称

一个新生儿在办理出生证之后,就很难修改他的姓名。同理,MySQL数据库一旦创建,就很难更新数据库的名称。比如,若想通过Workbench/DataGrip修改数据库名称,则【Schema Name】会无法编辑,如图2-4和图2-5所示。

图2-4 无法使用Workbench修改数据库名称

图2-5 无法使用DataGrip修改数据库名称

我们也没办法通过SQL语句修改数据库名称,例如:

     -- 该语句无法执行
     mysql>rename database zoo_ to zoo_1;

因此,在创建数据库之前就要想好名字,2.1.4节会讲解如何取个好的数据库名称。

2.1.3 删除数据库

删除数据库有两种常用的方法:

具体步骤如下:

1.使用Workbench删除动物园数据库

01 选中zoo数据库,右击,在弹出的快捷菜单中选择【Drop Schema...】命令。

02 在弹出的确认删除窗口中,选择【Drop Now】即可。drop是删除的意思。

2.使用SQL语句删除动物园数据库
     mysql>drop database zoo;
     -- drop schema 是 drop database 的同义词
     mysql>drop schema zoo;

警告 删除数据库是高危操作,因此,操作之前要三思。

2.1.4 取个合适的数据库名称

MySQL数据库名称的命名规范:一般情况下由26个英文字母(小写)、0~9自然数、上(下)画线(_)组成,多个单词用上(下)画线(_)分隔。

注意,MySQL数据库名称是不区分大小写的,在工作中建议使用小写的数据库名称。比如你再使用“create database Zoo”命令创建一个Zoo数据库,MySQL会提示该数据库已存在,并会提示下述信息:

     "Error Code: 1007. Can't create database 'Zoo'; database exists"

此外,在项目中,数据库名称还要体现环境信息(开发环境、测试环境、生产环境),如图2-6所示。

图2-6 数据库命名

因此,数据库的命名可以带上环境信息,例如dev_zoo、test-zoo、prod_zoo,当别的研发人员看到这个命名信息时,就能很清楚地知道动物园数据库是属于哪个环境,如果是正式环境的数据库,研发人员在进行相关的SQL操作时也会格外小心。 G+VSfiWWUvQU0ra+wzHFmrW9YFMY6XUIh2HDESdphBy+DtqxZGXnnjNCbQthuLJw

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