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

目录
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上。

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

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

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服务之前,当然要先去官网安装配置环境咯,官网奉上MySQL
https://www.mysql.com/cn/
在配置好环境之后我们需要在电脑上启动数据库服务,有以下俩种方法启动:
- 搜索栏直接搜索服务去寻找MySQL。
- 或者win+R输入services.msc打开服务。
找到MySQL启动服务。
启动完服务后打开箭头所在,并输入密码,如果出现以下结果说明已经数据库服务开始运行起来咯


这样我们就完成了以上操作,可以开始代码部分的学习了。
2.2.2创建与删除数据库
展示当前数据库:
show databases;

创建数据库:
create database (if not exists) testbase;
注:小括号内为可加可不加,意思为如果不存在该名的数据库就创建,否则报错,testbase为数据库名,可任意写。
为了显示创建效果我们再使用show databases;语句:

可见创建成功。
删除数据库:
drop database (if exists) databasename;
我们删除一下上文刚创建的数据库并展示出来:

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;

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

删除表:
DROP TABLE 表名;

这就是一些基础操作,至于比较关键的增删改查我们后续会有详细的讲解。
2.3MySQL Workbench基础使用简介
接下来让我们大概了解下是如何使用的MySQL Workbench,这个是在咱们配置MySQL环境时就有这个软件,让我们更加方便的操作数据,让我们先简单介绍下MySQL Workbench。
MySQL Workbench是一款专门为MySQL设计的集成化桌面软件,也是一款功能强大的数据库管理工具。它提供了数据库设计与模型建立、SQL开发、数据库管理等功能,并支持Windows、Linux和Mac OS等操作系统。
打开这个页面:

第一次进入需要密码,输入自己设置的即可。
创建数据库:

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

新建表:

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

点击apply:

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

删除右键drop即可。
3.小结
今天的分享到这里就结束了,喜欢的小伙伴点点赞点点关注,你的支持就是对我最大的鼓励,加油!
相关文章:
MySQL初学之旅(1)配置与基础操作
目录 1.前言 2.正文 2.1数据库的发展历程 2.2数据库的基础操作 2.2.1启动服务 2.2.2创建与删除数据库 2.2.3数据类型 2.2.4创建表与删除表 2.3MySQL Workbench基础使用简介 3.小结 1.前言 哈喽大家好吖,今天博主正式开始为大家分享数据库的学习ÿ…...
一款革命性的视频剪辑工具,AI剪辑新纪元:Clapper
如果说AI视频剪辑工具哪家强?还真想不出有什么让人眼前一亮的AI视频剪辑应用。 毕竟随着AI技术的发展越来越快,各种AI应用如雨后春笋般涌现,然而,真正能够在视频剪辑领域脱颖而出的工具却寥寥无几。 今天我要介绍的 Clapper 就是…...
HTML 区块
HTML 区块 HTML(HyperText Markup Language)是构建网页的标准语言,它定义了网页的结构和内容。在HTML中,区块元素是指那些能够定义较大块状结构的元素,比如段落、标题、列表、表格和 divis 等。这些元素通常对页面的布…...
复杂度的讲解
数据结构可以简单理解为在内存中管理数据 它具有速度快 带电存储的特点(临时存储) 如何衡量一个算法的好坏 因此衡量一个算法的好坏,一般是从时间和空间两个维度来衡量的,即时间复杂度和空间复杂度。 时间复杂度主要衡量一个算…...
[ Linux 命令基础 2 ] Linux 命令详解-系统管理命令
🍬 博主介绍 👨🎓 博主介绍:大家好,我是 _PowerShell ,很高兴认识大家~ ✨主攻领域:【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】 🎉点赞➕评论➕收藏 养成习…...
使用docker部署Prometheus和Grafana去监控mysql和redis
自动化性能监控系统安装部署 相关工具的安装部署 服务工具分配 服务器工具端口10.0.20.9grafana300010.0.20.9prometheus909010.0.20.10mysql330610.0.20.10mysql-exporter910410.0.20.10redis330610.0.20.10redis_exporter9121 使用docker-compose安装prometheus 先拉取p…...
日志管理 | Log360 实现PCI DSS v4.0数据安全合规要求
PCI DSS 是一项网络安全标准,得到所有主要信用卡和支付处理公司的支持,旨在确保信用卡和借记卡号码的安全。最新的PCI DSS v4.0 代表支付卡行业数据安全标准。 任何依赖信用卡交易的企业都不能将数字安全视为一个偷工减料的领域,因为数据泄露…...
JAVA中的string和stringbuffer
【之前面试测试岗位的时候有被问到这个问题,面试结束后特地来学习一下】 目录 谁先被提出的String的使用StringBuffer的使用两者区别 谁先被提出的 String类先于StringBuffer被提出,作为Java语言的基础部分,而StringBuffer是为了解决实际开…...
轻型民用无人驾驶航空器安全操控------理论考试多旋翼部分笔记
官网:民用无人驾驶航空器综合管理平台 (caac.gov.cn) 说明:一是法规部分;二是多旋翼部分 本笔记全部来源于轻型民用无人驾驶航空器安全操控视频讲解平台 目录 官网:民用无人驾驶航空器综合管理平台 (caac.gov.cn) 一、轻型民用无人…...
计算用户订购率梧桐数据库和oracle数据库sql分析
一、背景说明 移动运营商平台提供多种类型的产品权益,用户可以通过订购来使用。平台需要定期统计各个产品的用户订购情况,以便了解各个产品的受欢迎程度。这些统计数据将用于优化产品、提升用户体验和制定市场推广策略。 二、表结构说明 梧桐数据库建…...
通过DNS服务器架构解释DNS请求过程
在前面的章节,这里,基于PCAP数据包和RFC文档详细介绍了DNS请求和响应的每个字段的含义。但是在现实的网络世界中,DNS请求和响应的数据包是怎么流动的,会经过哪些设备。本文将着重说明一下目前网络空间中DNS请求和响应的流动过程。 当前网络空间中比较常见DNS请求的流程如下…...
OKG Research:用户意图驱动的Web3应用变革
出品| OKG Research 作者|Samuel QIN 当前加密市场的快速演变中,用户增长成为行业可持续发展的基石。目前主流观点在推动行业前进的路上,从单纯的技术探索在向更注重应用价值的方向转变。尽管近年来Web3生态系统发展迅速…...
hbase 工具类
hbase 工具类 pom.xml <dependency><groupId>org.apache.hbase</groupId><artifactId>hbase-client</artifactId><version>2.5.10-hadoop3</version> </dependency> <dependency><groupId>com.google.guava<…...
会议直击|美格智能受邀出席第三届无锡智能网联汽车生态大会,共筑汽车产业新质生产力
11月10日,2024世界物联网博览会分论坛——第三届无锡智能网联汽车生态大会在无锡举行,美格智能CEO杜国彬受邀出席,并参与“中央域控:重塑汽车智能架构的未来”主题圆桌论坛讨论,与行业伙伴共同探讨智能网联汽车产业领域…...
在 Jupyter Notebook 中使用 Matplotlib 进行交互式可视化的教程
在 Jupyter Notebook 中使用 Matplotlib 进行交互式可视化的教程 引言 数据可视化是数据分析的重要组成部分,能够帮助我们更直观地理解数据。Matplotlib 是 Python 中最流行的绘图库之一,而 Jupyter Notebook 则是进行数据分析和可视化的理想环境。本文…...
Android13 系统/用户证书安装相关分析总结(三) 增加安装系统证书的接口遇到的问题和坑
一、前言 接上回说到,修改了程序,增加了接口,却不知道有没有什么问题,于是心怀忐忑等了几天。果然过了几天,应用那边的小伙伴报过来了问题。用户证书安装没有问题,系统证书(新增的接口)还是出现了问题。调…...
【C++ 算法进阶】算法提升十三
目录标题 抽牌概率问题 (动态规划)动态规划题目分析代码 洗衣机问题 (贪心)题目题目分析 抽牌概率问题 (动态规划) 动态规划 假设现在有1~N N张牌 每张牌的序号就代表着他的大小 (1 2 … N&am…...
【计网不挂科】计算机网络期末考试(综合)——【选择题&填空题&判断题&简述题】完整试卷
前言 大家好吖,欢迎来到 YY 滴计算机网络 系列 ,热烈欢迎! 本章主要内容面向接触过C的老铁 本博客主要内容,收纳了一部门基本的计算机网络题目,供yy应对期中考试复习。大家可以参考 本章是去答案版本。带答案的版本在下…...
2024年11月中旬记录
11.11 pigz的使用 压缩文件夹命令: tar -cvf - dir_name | pigz > xxx.tar.gz 解压分两步,pigz解压和tar解压: pigz -d xxx.tar.gz tar -xf xxx.tar...
单体架构 IM 系统之长轮询方案设计
在上一篇技术短文(单体架构 IM 系统之核心业务功能实现)中,我们讨论了 “信箱模型” 在单体架构 IM 系统中的应用,“信箱模型” 见下图。 客户端 A 将 “信件” 投入到客户端 B 的 “信箱” 中,然后客户端 B 去自己的 …...
手游刚开服就被攻击怎么办?如何防御DDoS?
开服初期是手游最脆弱的阶段,极易成为DDoS攻击的目标。一旦遭遇攻击,可能导致服务器瘫痪、玩家流失,甚至造成巨大经济损失。本文为开发者提供一套简洁有效的应急与防御方案,帮助快速应对并构建长期防护体系。 一、遭遇攻击的紧急应…...
【Java学习笔记】Arrays类
Arrays 类 1. 导入包:import java.util.Arrays 2. 常用方法一览表 方法描述Arrays.toString()返回数组的字符串形式Arrays.sort()排序(自然排序和定制排序)Arrays.binarySearch()通过二分搜索法进行查找(前提:数组是…...
无法与IP建立连接,未能下载VSCode服务器
如题,在远程连接服务器的时候突然遇到了这个提示。 查阅了一圈,发现是VSCode版本自动更新惹的祸!!! 在VSCode的帮助->关于这里发现前几天VSCode自动更新了,我的版本号变成了1.100.3 才导致了远程连接出…...
解决Ubuntu22.04 VMware失败的问题 ubuntu入门之二十八
现象1 打开VMware失败 Ubuntu升级之后打开VMware上报需要安装vmmon和vmnet,点击确认后如下提示 最终上报fail 解决方法 内核升级导致,需要在新内核下重新下载编译安装 查看版本 $ vmware -v VMware Workstation 17.5.1 build-23298084$ lsb_release…...
《通信之道——从微积分到 5G》读书总结
第1章 绪 论 1.1 这是一本什么样的书 通信技术,说到底就是数学。 那些最基础、最本质的部分。 1.2 什么是通信 通信 发送方 接收方 承载信息的信号 解调出其中承载的信息 信息在发送方那里被加工成信号(调制) 把信息从信号中抽取出来&am…...
ardupilot 开发环境eclipse 中import 缺少C++
目录 文章目录 目录摘要1.修复过程摘要 本节主要解决ardupilot 开发环境eclipse 中import 缺少C++,无法导入ardupilot代码,会引起查看不方便的问题。如下图所示 1.修复过程 0.安装ubuntu 软件中自带的eclipse 1.打开eclipse—Help—install new software 2.在 Work with中…...
深度学习习题2
1.如果增加神经网络的宽度,精确度会增加到一个特定阈值后,便开始降低。造成这一现象的可能原因是什么? A、即使增加卷积核的数量,只有少部分的核会被用作预测 B、当卷积核数量增加时,神经网络的预测能力会降低 C、当卷…...
uniapp 实现腾讯云IM群文件上传下载功能
UniApp 集成腾讯云IM实现群文件上传下载功能全攻略 一、功能背景与技术选型 在团队协作场景中,群文件共享是核心需求之一。本文将介绍如何基于腾讯云IMCOS,在uniapp中实现: 群内文件上传/下载文件元数据管理下载进度追踪跨平台文件预览 二…...
uniapp 集成腾讯云 IM 富媒体消息(地理位置/文件)
UniApp 集成腾讯云 IM 富媒体消息全攻略(地理位置/文件) 一、功能实现原理 腾讯云 IM 通过 消息扩展机制 支持富媒体类型,核心实现方式: 标准消息类型:直接使用 SDK 内置类型(文件、图片等)自…...
对象回调初步研究
_OBJECT_TYPE结构分析 在介绍什么是对象回调前,首先要熟悉下结构 以我们上篇线程回调介绍过的导出的PsProcessType 结构为例,用_OBJECT_TYPE这个结构来解析它,0x80处就是今天要介绍的回调链表,但是先不着急,先把目光…...


