【JavaWeb】Day34.MySQL概述——数据库设计-DDL(一)

项目开发流程

需求文档:

在我们开发一个项目或者项目当中的某个模块之前,会先会拿到产品经理给我们提供的页面原型及需求文档。

设计:

拿到产品原型和需求文档之后,我们首先要做的不是编码,而是要先进行项目的设计,其中就包括概要设计、详细设计、接口设计、数据库设计等等。

数据库设计根据产品原型以及需求文档,要分析各个模块涉及到的表结构以及表结构之间的关系,以及表结构的详细信息。最终我们需要将数据库以及数据库当中的表结构设计创建出来。

开发/测试:

参照页面原型和需求进行编码,实现业务功能。在这个过程当中,我们就需要来操作设计出来的数据库表结构,来完成业务的增删改查操作等。

部署上线:

在项目的功能开发测试完成之后,项目就可以上线运行了,后期如果项目遇到性能瓶颈,还需要对项目进行优化。优化很重要的一个部分就是数据库的优化,包括数据库当中索引的建立、SQL 的优化、分库分表等操作。

针对于数据库开发流程来说,主要包括三个阶段:

  1. 数据库设计阶段
  • 参照页面原型以及需求文档设计数据库表结构
  1. 数据库操作阶段
  • 根据业务功能的实现,编写SQL语句对数据表中的数据进行增删改查操作
  1. 数据库优化阶段
  • 通过数据库的优化来提高数据库的访问性能。优化手段:索引、SQL优化、分库分表等

数据库操作

DDL英文全称是Data Definition Language(数据定义语言),用来定义数据库对象(数据库、表)。

DDL中数据库的常见操作:查询、创建、使用、删除。

查询数据库

查询所有数据库:

查询当前数据库:

我们要操作某一个数据库,必须要切换到对应的数据库中。通过指令:select database() ,就可以查询到当前所处的数据库。

创建数据库

语法:

复制代码
```mysql
create database [ if not exists ] 数据库名;
```

注意:在同一个数据库服务器中,不能创建两个名称相同的数据库,否则将会报错。

可以使用if not exists来避免这个问题

复制代码
```sql
-- 数据库不存在,则创建该数据库;如果存在则不创建
create database if not exists itcast; 
```

使用数据库

语法:

复制代码
```mysql
use 数据库名 ;
```

我们要操作某一个数据库下的表时,就需要通过该指令,切换到对应的数据库下,否则不能操作。

删除数据库

语法:

复制代码
```mysql
drop database [ if exists ] 数据库名 ;
```

如果删除一个不存在的数据库,将会报错。可以加上参数 if exists ,如果数据库存在,再执行删除,否则不执行删除。

说明:上述语法中的database,也可以替换成 schema

例如:create schema db01; = show schemas;

图形化工具

介绍

在命令行当中来敲这些SQL语句很不方便,主要的原因有以下 3 点:

  1. 没有任何代码提示。(全靠记忆,容易敲错字母造成执行报错)

  2. 操作繁琐,影响开发效率。(所有的功能操作都是通过SQL语句来完成的)

  3. 编写过的SQL代码无法保存。

在项目开发当中,通常为了提高开发效率,都会借助于现成的图形化管理工具来操作数据库。

目前MySQL主流的图形化界面工具有以下几种:

说明:DataGrip这款工具可以不用安装,因为Jetbrains公司已经将DataGrip这款工具的功能已经集成到了 IDEA当中,所以我们就可以使用IDEA来作为一款图形化界面工具来操作Mysql数据库。

连接数据库

1、打开IDEA自带的Database

2、配置MySQL

3、输入相关信息

4、下载MySQL连接驱动

5、测试数据库连接

6、保存配置

操作数据库

创建数据库:

有了图形化界面工具后,就可以方便的使用图形化工具:创建数据库,创建表、修改表等DDL操作。其实工具底层也是通过DDL语句操作的数据库,只不过这些SQL语句是图形化界面工具帮我们自动完成的。

查看所有数据库:

相关推荐
一人の梅雨13 分钟前
化工网平台API接口开发实战:从接入到数据解析‌
java·开发语言·数据库
一只栖枝1 小时前
Oracle OCP知识点详解2:管理用户密码期限
数据库·oracle·开闭原则·ocp
PingCAP1 小时前
TiDB 亮相宜昌“医院‘云数智’技术实践研讨及成果展示交流会”,探讨国产化 + AI 背景下的数据库新趋势
数据库·人工智能·tidb
努力的小Qin2 小时前
银河麒麟V10 aarch64架构安装mysql教程
数据库·mysql·架构
云心雨禅2 小时前
解决大小写、保留字与特殊字符问题!Oracle双引号在SQL中的特殊应用
数据库·sql·oracle
vivo互联网技术2 小时前
活动中台系统慢 SQL 治理实践
java·数据库·后端
爱可生开源社区2 小时前
当测试工具开始「思考」,是工具还是「同事」?
数据库
haven-8523 小时前
duckdb不支持向量
数据库·oracle
崖山数据库系统YashanDB3 小时前
YashanDB hint语法
数据库