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

项目开发流程

需求文档:

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

设计:

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

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

开发/测试:

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

部署上线:

       在项目的功能开发测试完成之后,项目就可以上线运行了,后期如果项目遇到性能瓶颈,还需要对项目进行优化。优化很重要的一个部分就是数据库的优化,包括数据库当中索引的建立、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.mzph.cn/news/804731.shtml

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

相关文章

docker搭建EFK

目录 elasticsearch1.创建网络2.拉取镜像3.创建容器如果出现启动失败,提示目录挂载失败,可以考虑如下措施 开放防火墙端口4.验证安装成功重置es密码关闭https连接创建kibana用户创建新账户给账户授权 kibana1.创建容器2.验证安装成功3.es为kibana创建用户…

java对象是怎么在jvm中new出来的,在内存中查看java对象成员变量字段属性值

java对象是怎么在jvm中new出来的 查看java对象字段属性在内存中的值 java 对象 创建 流程 附上java源码 public class MiDept {private int innerFiled999;public MiDept() {System.out.println("new MiDept--------------");}public String show(int data) {Sy…

电脑怎么才能用动态ip上网?步骤详解与优势分析

在数字化时代,互联网已成为我们生活与工作中不可或缺的一部分。为了保障网络安全、提升网络效率或满足特定应用场景的需求,有时我们需要为电脑配置动态IP地址上网。那么,如何为电脑设置动态IP地址呢?本文将为您详细介绍动态IP的配…

为什么AI模型需要合乎道德的数据

道德问题简介 “合乎道德的数据”和“负责任的数据”这两个词的含义可能并不明确。在科技界和AI数据界,道德原则是指负责任地采集和使用数据用以训练模型,并确保这些模型不带偏见地与人类交互。不仅为训练模型负责任地采集和使用数据很重要,…

Java的jmap命令使用详解

jmap命令简介 jmap(Java Virtual Machine Memory Map)是JDK提供的一个可以生成Java虚拟机的堆转储快照dump文件的命令行工具。 以外,jmap命令还可以查看finalize执行队列、Java堆和方法区的详细信息,比如空间使用率、当前使用的…

Elastic:5 个原因解释为什么可观察性和安全性能够很好地协同工作

作者:来自 Elastic Jennifer Ellard, Gagan Singh 网站可靠性工程师(site reliability engineers - SREs)和安全分析师 (security analysts) —— 尽管担任着非常不同的角色 —— 分享了许多相同的目标。他们都采用主动监控和事件响应策略来识…

【随笔】Git 高级篇 -- 撤销变更 reset | revert(十四)

💌 所属专栏:【Git】 😀 作  者:我是夜阑的狗🐶 🚀 个人简介:一个正在努力学技术的CV工程师,专注基础和实战分享 ,欢迎咨询! 💖 欢迎大…

Cuda编程-NPP库

Cuda编程先前有过研究,现在记录下Cuda相关的库使用 目录 0.参考文档1.NPP简介1.1 头文件1.2 库文件1.3 编译时链接关系1.4 NPP函数的命名方式1.5 General Conventions 一般约定1.6 Image Processing Conventions 图像处理约定 2.举例:NPP实现YUV转BGR2.1…

基于Android的记单词App系统的设计与实现

博主介绍:✌IT徐师兄、7年大厂程序员经历。全网粉丝15W、csdn博客专家、掘金/华为云//InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇&#x1f3…

【服务器部署篇】Linux下安装Docker容器

作者介绍:本人笔名姑苏老陈,从事JAVA开发工作十多年了,带过大学刚毕业的实习生,也带过技术团队。最近有个朋友的表弟,马上要大学毕业了,想从事JAVA开发工作,但不知道从何处入手。于是&#xff0…

SqlServer占用CPU过高情况排查

一、问题描述 反馈SQLServer中出现CPU使用率过高有许多可能原因,但常见的原因如下最为常见: 由于以下情况,表或索引扫描导致的高逻辑读取: 过期统计信息缺少索引设计不佳的查询工作负载增加 针对此类问题,微软有一套…

数据恢复软件能不能恢复已经删除的监控视频

随着安防意识的日益增强,监控视频已成为众多场所不可或缺的安全保障。然而,由于各种原因,我们可能会不小心删除了一些重要的监控视频。面对这种情况,许多人都会想到使用数据恢复软件来尝试找回这些丢失的视频。那么,数…

堆放砖块-第12届蓝桥杯选拔赛Python真题精选

[导读]:超平老师的Scratch蓝桥杯真题解读系列在推出之后,受到了广大老师和家长的好评,非常感谢各位的认可和厚爱。作为回馈,超平老师计划推出《Python蓝桥杯真题解析100讲》,这是解读系列的第47讲。 堆放砖块&#xf…

Redis 常用的基本命令

🔥博客主页:fly in the sky - CSDN博客 🚀欢迎各位:点赞👍收藏⭐️留言✍️🚀 🎆慢品人间烟火色,闲观万事岁月长🎆 📖希望我写的博客对你有所帮助,如有不足,请指正&#…

群联AI云防护中的防盗链技术原理及其作用探析---

一、引言 随着云计算和AI技术的快速发展,云防护方案已经成为现代企业防范网络攻击和保护数字资产的重要手段之一。群联科技作为存储解决方案和技术服务的领导者,已将其AI技术应用于云端防护系统中,并特别强化了防盗链功能,以帮助…

MQTT协议特点及数据包结构详解(值得珍藏)

点击下载《MQTT协议特点及数据包结构详解(值得珍藏)》 1. 前言 MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的“轻量级”通讯协议,该协议构建于TCP/IP协议上,由IBM在1999年发布。 MQTT最大优点在…

SVD图像处理(MATLAB)

使用SVD处理图像模拟演示 参考文献 https://github.com/matzewolf/Image_compression_SVD/blob/master/svd_compress.m MATLAB代码 clc; clearvars; close all;A_orgimread("lena256.bmp"); compr20; A_orgdouble(A_org);A_red svd_compress( A_org, compr ); s…

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

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

为什么企业都用企微文档?真的好用吗?

现在很多企业都在使用企微文档,还没开始使用的企业难免会产生疑惑,企微文档真的好用吗?其实企业选择使用企微文档的原因有很多,主要的原因是企微文档能够满足企业在文件管理和协作方面的多种需求,从而提高办公效率。 下…

未来客服行业的趋势与展望:构建更高效、个性化的客户体验

客服行业是商业领域中的重要组成部分,它直接影响着企业的品牌形象和客户满意度。随着科技的飞速发展,客服行业也正在经历深刻的变革。今天将描绘未来客服行业的发展趋势,帮助我们更好地理解这个行业的未来走向。 1. 人工智能和机器学习的广泛…