MySQL初学之旅(1)配置与基础操作

MySQL初学之旅(1)配置与基础操作
85fb7bf2aa654fc28cdfa712d1f776df.jpeg

目录

1.前言

2.正文

2.1数据库的发展历程

2.2数据库的基础操作

2.2.1启动服务

2.2.2创建与删除数据库

2.2.3数据类型

2.2.4创建表与删除表

2.3MySQL Workbench基础使用简介

3.小结


1.前言

哈喽大家好吖,今天博主正式开始为大家分享数据库的学习,数据库的学习也是为了未来能够完成企业级项目而添砖Java(doge),那么废话不多说,让我们开始吧。

2.正文

2.1数据库的发展历程

在正式学习数据库之前,让我们先了解下MySQL的发展历程以及我们为什么要学习MySQL,这对我们会有什么帮助。

MySQL的历史可以追溯到1979年,当时Michael Widenius在一家名为TcX的小公司工作,他创建了一个名为Unireg的报告工具,最初是用BASIC(这个就是俗称的B语言)编写的,运行在4 MHz的计算机和16KB的RAM上。

50e8d9f967aa427f983e6f46e390c55c.png

随着时间的推移,这个工具被用C语言重写,并移植到了Unix平台上。1995年,MySQL由David Axmark, Allan Larsson和Michael Widenius三位工程师在瑞典创立,并在同年发布了第一个MySQL服务器版本。1996年,MySQL 1.0版本首次发布,随后在同年10月发布了MySQL 3.11.1版本,最初只提供了Solaris的二进制版本,一个月后发布了源代码和Linux二进制版本。在接下来的两年里,MySQL被移植到多个操作系统上,功能集逐渐增加。

e39c3e8841eb4cccb179faa8265b2c54.png

2000年左右,MySQL AB公司成立,并与Sleepycat合作,为Berkeley DB数据文件提供SQL接口,从而为MySQL增加了事务处理能力。2001年,MySQL集成了InnoDB存储引擎,该引擎支持事务处理和行级锁。MySQL 4.0版本正式结合了InnoDB,而到了MySQL 5.0版本,增加了视图、存储过程等功能。

2a4e715b212c4a7baf51c63183b01ada.png

2008年1月16日,MySQL被Sun公司收购。后来,Oracle在2010年收购了Sun Microsystems,MySQL现在由Oracle拥有。

在了解完MySQL的大致发展历程,接下来我们就需要知道我们为什么要学习MySQL 

数据库是用来干什么的呢:

数据库是一个用于存储、组织、管理和高效访问大量结构化数据的关键系统。它允许用户通过特定的软件应用程序或查询语言来添加、访问、更新和删除数据,从而支持各种业务操作、决策制定和信息系统。

我们使用MySQL的优点:简单易用:MySQL以其简单易用的特点吸引了大量Java开发者。它的安装和配置过程相对简单,提供了友好的图形用户界面和丰富的命令行工具,使得开发者可以轻松管理数据库、执行SQL查询和维护数据。性能优异:MySQL在大规模数据处理和高并发访问场景下保持高效运行。Java应用往往需要处理大量数据和高频率的数据库操作,MySQL在这种情况下表现尤为出色。社区支持:MySQL作为开源项目,拥有庞大的用户社区和丰富的资源支持。Java开发者可以通过社区获得大量的学习资料、技术文档和示例代码。丰富的工具生态:MySQL拥有丰富的工具生态,为Java开发者提供了诸多便利,包括数据库管理工具、数据迁移工具和性能监控工具等。成本效益:MySQL作为开源数据库,具有极高的成本效益。Java开发者可以免费使用MySQL,避免了高昂的商业数据库许可费用。广泛应用场景:MySQL在各类应用场景中都有广泛的应用,包括Web应用、企业系统、数据分析等。其灵活的架构和强大的功能使得Java开发者可以根据不同的需求选择最合适的解决方案。不断创新和更新:MySQL作为开源项目,持续不断地进行创新和更新,不断推出新功能和优化性能。Java开发者可以及时获取MySQL的最新版本,享受到最新的技术和功能。

2.2数据库的基础操作

2.2.1启动服务

在使用MySQL服务之前,当然要先去官网安装配置环境咯,官网奉上MySQLhttps://www.mysql.com/cn/

在配置好环境之后我们需要在电脑上启动数据库服务,有以下俩种方法启动:

搜索栏直接搜索服务去寻找MySQL。或者win+R输入services.msc打开服务。



找到MySQL启动服务。

启动完服务后打开箭头所在,并输入密码,如果出现以下结果说明已经数据库服务开始运行起来咯

 

5af695b8ac7640929f3dfcfe53fa500f.png
bceaab61e14f405cb2a2c6b943039ddd.png

这样我们就完成了以上操作,可以开始代码部分的学习了。

2.2.2创建与删除数据库

展示当前数据库:

show databases;

 

4d35b0ad86054086865452e449a177c9.png

创建数据库:

create database (if not exists) testbase;

注:小括号内为可加可不加,意思为如果不存在该名的数据库就创建,否则报错,testbase为数据库名,可任意写。

为了显示创建效果我们再使用show databases;语句:

1b6fe8366bcb4800a9c320cf8e076230.png

可见创建成功。

删除数据库:

drop database (if exists) databasename;

我们删除一下上文刚创建的数据库并展示出来:

c629f65c18f047fe8cc1c7465ab46917.png

2.2.3数据类型

因为数据库中会存储各种各样类型的数据,所以在数据库中也有数据类型,详解如下:

一、数值类型

数值类型用于存储整数或小数,包括整数类型、浮点类型和定点数类型。整数类型TINYINT:小整数,范围从-128到127(有符号)或0到255(无符号)。SMALLINT:小型整数,范围从-32,768到32,767(有符号)或0到65,535(无符号)。MEDIUMINT:中型整数,范围从-8,388,608到8,388,607(有符号)或0到16,777,215(无符号)。INT:标准整数,范围从-2,147,483,648到2,147,483,647(有符号)或0到4,294,967,295(无符号)。BIGINT:大整数,范围从-9,223,372,036,854,775,808到9,223,372,036,854,775,807(有符号)或0到18,446,744,073,709,551,615(无符号)。浮点类型FLOAT:单精度浮点数,范围约为-3.402823466E+38到3.402823466E+38。DOUBLE:双精度浮点数,范围约为-1.7976931348623157E+308到1.7976931348623157E+308。定点数类型DECIMAL(M, D):精确的数值类型,M是总位数,D是小数位数。例如,DECIMAL(10, 2)可以存储总共10位数字,其中2位在小数点后。一般表示小数推荐使用这个,更加精准

二、字符串类型

字符串类型用于存储文本或字符数据,包括定长字符串、变长字符串和文本字符串。定长字符串CHAR(M):定长字符串,字符数为M。若实际存储的字符少于M,则用空格填充。变长字符串VARCHAR(M):变长字符串,最大字符数为M。存储实际字符数加1或2字节用于记录长度。这个也是使用比较多的。文本字符串TINYTEXT:最多255字节的文本。TEXT:最多65,535字节的文本。MEDIUMTEXT:最多16,777,215字节的文本。LONGTEXT:最多4,294,967,295字节的文本。

此外,还有二进制字符串类型,如BINARY(定长二进制字符串)和VARBINARY(变长二进制字符串)。

三、日期和时间类型

日期和时间类型用于存储日期和时间值,包括以下几种:DATE:日期,格式为YYYY-MM-DD,范围为1000-01-01到9999-12-31。TIME:时间,格式为HH:MM:SS,范围为'-838:59:59'到'838:59:59'。DATETIME:日期和时间,格式为YYYY-MM-DD HH:MM:SS,范围为1000-01-01 00:00:00到9999-12-31 23:59:59。

2.2.4创建表与删除表

表是什么?表是数据库中存储数据的基本结构。一个表通常由行(rows)和列(columns)组成,类似于Excel电子表格或纸质表格。每一列代表一个字段,每一行代表一条记录。表用于组织和存储特定类型的数据,例如,一个图书馆数据库中的“Books”表可能包含书名、作者、ISBN号和出版日期等字段。

在创建表之前,先得使用当前需要操作的数据库:

use database_name;
06c93aaf4e334718a32cd7047ad41f2d.png

创建表 :

CREATE TABLE 表名 ( 列名1 数据类型 [约束], 列名2 数据类型 [约束], ... [表选项] );

示例: 

7b16bbe8131f48098d92aff8384a2ba0.png

删除表:

DROP TABLE 表名;
7aa7788716794357aff39c8839529153.png

这就是一些基础操作,至于比较关键的增删改查我们后续会有详细的讲解。

2.3MySQL Workbench基础使用简介

接下来让我们大概了解下是如何使用的MySQL Workbench,这个是在咱们配置MySQL环境时就有这个软件,让我们更加方便的操作数据,让我们先简单介绍下MySQL Workbench。

MySQL Workbench是一款专门为MySQL设计的集成化桌面软件,也是一款功能强大的数据库管理工具。它提供了数据库设计与模型建立、SQL开发、数据库管理等功能,并支持Windows、Linux和Mac OS等操作系统。

打开这个页面:

9eee079485764e96972d804c8117a1ad.png

第一次进入需要密码,输入自己设置的即可。

创建数据库:

29ebedc399024066a14244197c4ec945.png

给数据库起完名字后,点击apply,

4da1665f3c644343bb8e1a0fccc9a8c7.png

新建表:

9dec13b67b7641b3ab6138c144aaf183.png

在下面这个页面为表格创建里面的变量,填写数据类型,或者填上注解,最后apply。

697ff616bb9b407a9da3fb8e75e139a6.png

点击apply:

5d42b87c6f614a8bb400fcb3f6d6b935.png

这样一个表就创建完毕了。

dcb0fc11dccf43a58365d106067b81d0.png

删除右键drop即可。

3.小结

今天的分享到这里就结束了,喜欢的小伙伴点点赞点点关注,你的支持就是对我最大的鼓励,加油!

Read more

Spring Security 从入门到实战:搞定认证授权,再也不用手写权限逻辑

Spring Security 从入门到实战:搞定认证授权,再也不用手写权限逻辑

✨道路是曲折的,前途是光明的! 📝 专注C/C++、Linux编程与人工智能领域,分享学习笔记! 🌟 感谢各位小伙伴的长期陪伴与支持,欢迎文末添加好友一起交流! * 目录 * 前言 * 一、Spring Security 是什么? * 1.1 核心功能 * 二、技术组成分布 * 三、认证流程解析 * 3.1 请求处理流程 * 3.2 过滤器链结构 * 四、快速开始 * 4.1 添加依赖 * 4.2 基础配置 * 五、认证机制详解 * 5.1 内存认证(开发测试) * 5.2 数据库认证(生产推荐) * 六、授权控制方式 * 6.1 注解方式

By Ne0inhk
Flutter for OpenHarmony: Flutter 三方库 google_maps 在鸿蒙应用中嵌入全球地图服务的架构实践(跨平台地图方案库)

Flutter for OpenHarmony: Flutter 三方库 google_maps 在鸿蒙应用中嵌入全球地图服务的架构实践(跨平台地图方案库)

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net 前言 在进行 OpenHarmony 的全球化应用开发时,地图服务是出海项目绕不开的核心组件。对于已经在海外市场成熟运行、深度依赖 Google 地图生态的 Flutter 应用,如何将现有的地图逻辑迁移或适配到鸿蒙平台,是许多出海大企关注的焦点。 虽然鸿蒙在国内市场主要使用高德或百度地图,但在处理“全球一张图”需求时,google_maps 相关的 Flutter 插件及其底层的 Dart 模型定义,依然是定义地理围栏、标记点(Marker)和轨迹绘制的标准参考。本篇将探讨如何在鸿蒙跨平台架构中,平衡 Google 地图的通用逻辑与鸿蒙的原生渲染。 一、跨平台地图适配架构 在鸿蒙适配中,我们通常采用“统一接口层,分平台实现”的策略。 模型转换 适配层 Flutter 业务层 (Dart) 地图抽象层

By Ne0inhk
【Spring Cloud】初识Spring Cloud

【Spring Cloud】初识Spring Cloud

系列文章目录 在学习Spring Cloud 之前, 我们先来了解下什么是微服务, 以及微服务的发展史. 在架构发展的过程中,项目开发遇到了哪些问题, 以及Spring Cloud是用来解决什么问题的. 这将对咱们后面的相关内容有很大帮助! 一、认识微服务 下图表示了服务架构从单体应用逐渐转变为微服务应用的过程: 1.1 单体架构 很多创业公司早期或者传统企业会把业务的所有功能实现都打包在⼀个项⽬, 这就是单体架构.业务的所有功能实现都打包在⼀个war包或者Jar包中, 这种方式就称为单体架构 如果一个项目前端+后端+数据库实现,都在⼀个项⽬中, 这种架构就称为单体架构. 以大家都很熟悉的电商系统为例, 电商系统包括: 用户管理, 商品管理, 订单管理, 支付管理, 库存管理, 物流管理等等, 项目早期我们会把这些模块都写在⼀个web项目中, 然后统一部署到⼀个Web服务器中。 这种架构开发简单, 部署简单, ⼀个项⽬就包含了所有的功能, 省去了多个项目之间的交互和调用消耗.直接部署在⼀个服务器即可. 1.

By Ne0inhk
微服务学习笔记(2)——SpringCloud Nacos

微服务学习笔记(2)——SpringCloud Nacos

🔥我的主页:九转苍翎⭐️个人专栏:《Java SE 》《Java集合框架系统精讲》《MySQL高手之路:从基础到高阶 》《计算机网络 》《Java工程师核心能力体系构建》《RabbitMQ理论与实践》天行健,君子以自强不息。 0.前言 * SpringBoot版本:3.2.5 * SpringCloud版本:2023.0.3 * SpringCloud Alibaba版本:2023.0.1.0 * nacos版本:2.2.3(已免费上传至我的资源) * 项目源码:spring-cloud-blog 1.概述 Nacos(Dynamic Naming and Configuration Service)是阿里巴巴开源的一个更易于构建云原生应用的动态服务发现、配置和管理平台。在 Spring Cloud 体系中,

By Ne0inhk