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

news2025/2/22 6:56:37

项目开发流程

需求文档:

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

设计:

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

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

开发/测试:

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

部署上线:

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

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

1. 数据库设计阶段

   - 参照页面原型以及需求文档设计数据库表结构

2. 数据库操作阶段

   - 根据业务功能的实现,编写SQL语句对数据表中的数据进行增删改查操作

3. 数据库优化阶段

   - 通过数据库的优化来提高数据库的访问性能。优化手段:索引、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语句是图形化界面工具帮我们自动完成的。

查看所有数据库:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1582282.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

服务器测试之intel E8102CQDA2

这个卡是个双口100G双芯片的卡,QSFP28 单口速率100G,双口200G 1.BIOS下pcie带宽设置 服务器BIOS下支持设置PCIE link width 设置x8x8,否则只能显示一个网口,如下图 E810-2CQDA2需要BIOS下设置该卡槽位pcie slot link width 设置x8…

基于YOLOv8的摄像头下铁路工人安全作业检测系统

💡💡💡本文摘要:基于YOLOv8的铁路工人安全作业检测系统,属于小目标检测范畴,并阐述了整个数据制作和训练可视化过程, 博主简介 AI小怪兽,YOLO骨灰级玩家,1&#xff0…

分享Fork/Join经典案例

shigen坚持更新文章的博客写手,擅长Java、python、vue、shell等编程语言和各种应用程序、脚本的开发。记录成长,分享认知,留住感动。 个人IP:shigen 在上一篇的文章java 多线程分治求和,太牛了的文章中,提到…

【JVM】常见的JVM参数

常见的JVM参数 ◼ 参数1 : -Xmx 和 –Xms-Xmx 参数设置的是最大堆内存,但是由于程序是运行在服务器或者容器上,计算可用内存时,要将元空间、操作系统、 其它软件占用的内存排除掉。 案例: 服务器内存4G,…

【Leetcode每日一题】 递归 - 二叉树剪枝(难度⭐⭐)(50)

1. 题目解析 题目链接:814. 二叉树剪枝 这个问题的理解其实相当简单,只需看一下示例,基本就能明白其含义了。 2.算法原理 想象一下,你有一堆层层叠叠的积木,你想从底部开始,把那些标记为0的积木拿走。如…

如何在Flutter应用中配置ipa Guard进行混淆

在移动应用开发中,保护应用代码安全至关重要。Flutter 提供了简单易用的混淆工具,帮助开发者在构建 release 版本应用时有效保护代码。本文将介绍如何在 Flutter 应用中使用混淆,并提供了相关的操作步骤和注意事项。 📝 摘要 本…

【行业资讯】AI算力的需求推动光模块行业快速迭代

近期,由OpenAI发布的人工智能文生视频大模型Sora再次引起了不小的轰动,继ChatGPT之后,Sora的推出让AIGC(生成式人工智能)再度成为行业焦点,AI大模型的快速迭代升级对网络架构提出了更高要求,推动…

GlusterFS分布式存储

目录 前言 一、GlusterFS分布式存储概述 1、GFS概念 2、GFS特点 3、GFS术语 4、GFS构成 5、GFS工作流程 6、后端存储如何定位文件 7、GlusterFs的卷类型 7.1 Distributed Volume(分布式卷) 7.2 Striped Volume(条带卷&#xff09…

项目实战 | 使用python分析Excel销售数据(用groupby)

项目实战 | 使用python分析Excel销售数据 本文目录: 零、00时光宝盒 一、提出问题 二、理解数据 2.1、安装python读取excel文件的库 2.2、查看excel表的字段名和前几行记录 2.3、查看excel表结构 2.4、查看索引 2.5、查看每一列的列表头内容 2.6、查看每一…

SpringBoot中application.yml引入多个YML文件

系列文章目录 文章目录 系列文章目录前言前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。 首先,你要了解SpringBoot配置文件加载顺序,加载位置(代码内,Nacos等)…

[数据结构]栈和队列结构的简单制作

一、栈 1.1栈的概念以及结构 栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端 称为栈顶,另一端称为栈底。 栈中的数据元素遵守后进先出LIFO(Last In First Out)的原…

yolov7的改进工地安全帽佩戴检测系统-协同双注意力机制CDAM2(教程+代码)

研究的背景和意义 随着工业化和城市化的快速发展,建筑工地的安全问题日益凸显。在建筑工地中,工人的安全是至关重要的,而工地安全帽的佩戴是保障工人安全的重要措施之一。然而,由于工地环境复杂多变,工人的佩戴情况往…

网络安全之权限维持那点事

权限维持 一旦黑客成功地入侵了目标系统,他们通常会尝试保持对系统的持久访问权,以便继续执行恶意活动,如窃取敏感数据、植入恶意软件、破坏系统功能等。 权限维持的过程可能包括以下几个方面: 后门植入:黑客可能会在…

蓝桥杯单片机要点——第十二届省赛(含代码)

题目: 用到的模块: LED单个点亮(建议用sbit,文件开头定义单个引脚) 数码管动态显示 矩阵键盘 ds18b20,用到onewire.c DAC转化(步骤见文章末尾的易错点),用到iic.c m…

一本书了解AI的下一个风口:AI Agent

在数字化浪潮中,人工智能(AI)已成为推动现代社会前进的强劲引擎。 从智能手机的智能助手到自动驾驶汽车的精准导航,AI技术的应用已经渗透到生活的方方面面。 随着技术的飞速发展,我们正站在一个新的转折点上&#xff…

Playwright安装和基本使用(ui/web自动化)

1.简介 Playwright是2021年微软开源的一个项目「playwright-python」。针对 Python 语言的纯自动化工具,它可以通过单个API自动执行 Chromium,Firefox 和 WebKit 浏览器,同时支持以无头模式、有头模式运行。 Playwright(Git&…

美国CPC认证是什么认证

美国CPC认证是一种针对儿童产品的认证,旨在确保这些产品的安全性。CPC全称为Consumer Product Certification,即消费品认证,是美国消费品安全委员会(CPSC)所推行的一种自愿性认证制度。通过CPC认证的产品,意…

人证比对接口在游戏行业的作用

人证比对接口又叫实人认证接口、人脸身份证比对接口、人脸实名认证接口,这个接口在很多行业都有重大作用,特别是确认当前用户信息至关重要。今天我们来聊一聊实人认证接口在游戏行业的作用。 今天为什么聊这个话题呢,主要就是最近热搜都被杭…

AR远程空间标注Vuforia+WebRTC音视频通话和空间标注功能

AR远程空间标注VuforiaWebRTC音视频通话和空间标注功能 视频学习地址:https://www.bilibili.com/video/BV1ZT4y187mG/?vd_sourcefc4b6cdd80b58c93a280fd74c37aadbf

LeetCode110:平衡二叉树

题目描述 给定一个二叉树,判断它是否是 平衡二叉树 解题思想 使用递归依次计算左子树的高度和右子树的高度 代码 class Solution { public:int height(TreeNode* node) {if (node nullptr) return 0;int leftT height(node->left);if (leftT -1) return -1;…