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的优点:

  1. 简单易用:MySQL以其简单易用的特点吸引了大量Java开发者。它的安装和配置过程相对简单,提供了友好的图形用户界面和丰富的命令行工具,使得开发者可以轻松管理数据库、执行SQL查询和维护数据。

  2. 性能优异:MySQL在大规模数据处理和高并发访问场景下保持高效运行。Java应用往往需要处理大量数据和高频率的数据库操作,MySQL在这种情况下表现尤为出色。

  3. 社区支持:MySQL作为开源项目,拥有庞大的用户社区和丰富的资源支持。Java开发者可以通过社区获得大量的学习资料、技术文档和示例代码。

  4. 丰富的工具生态:MySQL拥有丰富的工具生态,为Java开发者提供了诸多便利,包括数据库管理工具、数据迁移工具和性能监控工具等。

  5. 成本效益:MySQL作为开源数据库,具有极高的成本效益。Java开发者可以免费使用MySQL,避免了高昂的商业数据库许可费用。

  6. 广泛应用场景:MySQL在各类应用场景中都有广泛的应用,包括Web应用、企业系统、数据分析等。其灵活的架构和强大的功能使得Java开发者可以根据不同的需求选择最合适的解决方案。

  7. 不断创新和更新:MySQL作为开源项目,持续不断地进行创新和更新,不断推出新功能和优化性能。Java开发者可以及时获取MySQL的最新版本,享受到最新的技术和功能。

2.2数据库的基础操作

2.2.1启动服务

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

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

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

3c7322fd9c9247e88bc4ec4beebd5eef.png

找到MySQL启动服务。

9e9467b863394d468a535cf77763968c.png

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

 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数据类型

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

一、数值类型

数值类型用于存储整数或小数,包括整数类型、浮点类型和定点数类型。

  1. 整数类型

    • 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(无符号)。
  2. 浮点类型

    • FLOAT:单精度浮点数,范围约为-3.402823466E+38到3.402823466E+38。
    • DOUBLE:双精度浮点数,范围约为-1.7976931348623157E+308到1.7976931348623157E+308。
  3. 定点数类型

    • DECIMAL(M, D):精确的数值类型,M是总位数,D是小数位数。例如,DECIMAL(10, 2)可以存储总共10位数字,其中2位在小数点后。一般表示小数推荐使用这个,更加精准

二、字符串类型

字符串类型用于存储文本或字符数据,包括定长字符串、变长字符串和文本字符串。

  1. 定长字符串

    • CHAR(M):定长字符串,字符数为M。若实际存储的字符少于M,则用空格填充。
  2. 变长字符串

    • VARCHAR(M):变长字符串,最大字符数为M。存储实际字符数加1或2字节用于记录长度。这个也是使用比较多的。
  3. 文本字符串

    • TINYTEXT:最多255字节的文本。
    • TEXT:最多65,535字节的文本。
    • MEDIUMTEXT:最多16,777,215字节的文本。
    • LONGTEXT:最多4,294,967,295字节的文本。

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


三、日期和时间类型

日期和时间类型用于存储日期和时间值,包括以下几种:

  1. DATE:日期,格式为YYYY-MM-DD,范围为1000-01-01到9999-12-31。
  2. TIME:时间,格式为HH:MM:SS,范围为'-838:59:59'到'838:59:59'。
  3. 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.小结

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

好用且免费的工具分享

在当今数字化时代,AI工具的普及极大地提升了我们的工作效率和生活品质。最近发现一个功能强大、免费好用的AI工具,叫做“灵办AI”。 无论是打工人还是学生党,用了它绝对能让你效率起飞!它不同于市面上专注于特定领域的产品&#x…

二阶温度补偿带隙基准电路版图设计

二阶温度补偿带隙基准电路 点击获取,188 电路版图设计,cadence电路版图,24h秒发,不答疑 参数: 电源电压:1.8V 输出电压:0.87V ppm:17 功耗:100uA PSRR:-62…

2.若依vue表格数据根据不同状态显示不同颜色style

例如国标显示蓝色&#xff0c;超标是红色 使用是蓝色&#xff0c;未使用是绿色 <el-table-column label"外卖配送是否完成评价" align"center" prop"isOverFlag"> <template slot-scope"scope"> …

Unity照片墙效果

Unity照片墙效果&#xff0c;如下效果展示 。 工程源码

简易CPU设计入门:译码模块(一)

项目代码下载 还是请大家首先准备好本项目所用的源代码。如果已经下载了&#xff0c;那就不用重复下载了。如果还没有下载&#xff0c;那么&#xff0c;请大家点击下方链接&#xff0c;来了解下载本项目的CPU源代码的方法。 下载本项目代码 准备好了项目源代码以后&#xff…

vue 使用docx-preview 预览替换文档内的特定变量

在开发合同管理中&#xff0c;需要使用到此功能&#xff0c;就是替换合同模板内的一些字符串&#xff0c;如&#xff1a;甲乙方名称&#xff0c;金额日期等&#xff0c;合同内容不变。效果如下&#xff1a; 使用docx-preview 好处是只预览不可编辑内容。 前端vue import { re…

[N-155]基于springboot,vue宿舍管理系统

开发工具&#xff1a;IDEA 服务器&#xff1a;Tomcat9.0&#xff0c; jdk1.8 项目构建&#xff1a;maven 数据库&#xff1a;mysql5.7 项目采用前后端分离 前端技术&#xff1a;vue3element-plus 服务端技术&#xff1a;springbootmybatis-plus 本项目分为学生、宿舍管理…

json-server的使用(根据json数据一键生成接口)

一.使用目的 在前端开发初期&#xff0c;后端 API 可能还未完成&#xff0c;json-server 可以快速创建模拟的 RESTful API&#xff0c;帮助前端开发者进行开发和测试。 二.安装 npm install json-server //局部安装npm i json-server -g //全局安装 三.使用教程 1.准备一…

win11安装安卓apk原生应用,并设置网络代理

一、win11安装安卓apk原生应用&#xff0c;查看https://blog.csdn.net/qq_33704787/article/details/123658419https://blog.csdn.net/qq_33704787/article/details/123658419 主要是安装&#xff1a;Windows Subsystem for Android™ with Amazon Appstore 二、使用ABD工具设…

算法|牛客网华为机试21-30C++

牛客网华为机试 上篇&#xff1a;算法|牛客网华为机试10-20C 文章目录 HJ21 简单密码HJ22 汽水瓶HJ23 删除字符串中出现次数最少的字符HJ24 合唱队HJ25 数据分类处理HJ26 字符串排序HJ27 查找兄弟单词HJ28 素数伴侣HJ29 字符串加解密HJ30 字符串合并处理 HJ21 简单密码 题目描…

如何对数据库的表字段加密解密处理?

对于表格数据的加密处理&#xff0c;通常涉及到对数据库中存储的数据进行加密&#xff0c;以保护敏感信息。 Java示例&#xff08;使用AES算法加密数据库表数据&#xff09; 首先&#xff0c;你需要一个数据库连接&#xff0c;这里假设你使用的是JDBC连接MySQL数据库。以下是…

搭建你的私人云盘:使用File Browser与cpolar实现公网传输文件

文章目录 前言1.下载安装File Browser2.启动访问File Browser3.安装cpolar内网穿透3.1 注册账号3.2 下载cpolar客户端3.3 登录cpolar web ui管理界面3.4 创建公网地址 4.固定公网地址访问 前言 File Browser是一个开源的文件管理器和文件共享工具&#xff0c;它可以帮助用户轻…

SpringBoot 集成 Mybatis-Plus,LambdaQueryWrapper 使用方法

&#x1f3dd;️ 博主介绍 大家好&#xff0c;我是 一个搬砖的农民工&#xff0c;很高兴认识大家 &#x1f60a; ~ &#x1f468;‍&#x1f393; 个人介绍&#xff1a;本人是一名后端Java开发工程师&#xff0c;坐标北京 ~ &#x1f389; 感谢关注 &#x1f4d6; 一起学习 &am…

新闻稿件管理:SpringBoot框架技术突破

摘要 随着信息技术在管理上越来越深入而广泛的应用&#xff0c;管理信息系统的实施在技术上已逐步成熟。本文介绍了新闻稿件管理系统的开发全过程。通过分析新闻稿件管理系统管理的不足&#xff0c;创建了一个计算机管理新闻稿件管理系统的方案。文章介绍了新闻稿件管理系统的系…

「Mac畅玩鸿蒙与硬件27」UI互动应用篇4 - 猫与灯的互动应用

本篇将带领你实现一个趣味十足的互动应用&#xff0c;用户点击按钮时猫会在一排灯之间移动&#xff0c;猫所在的位置灯会亮起&#xff08;on&#xff09;&#xff0c;其余灯会熄灭&#xff08;off&#xff09;。应用会根据用户的操作动态更新灯光状态和文本提示当前亮灯的位置&…

QGIS:HCMGIS插件

插件GitHub地址&#xff1a;https://github.com/thangqd/HCMGIS。 以下对HCMGIS插件进行简单介绍&#xff0c;并演示如何进行地图数据下载。 插件简介 HCMGIS - Basemaps, Download OpenData, Batch Converter, VN-2000 Projections, and Field Calculation Utilities for QGI…

什么情况下,不推荐建立索引?

一般有以下几种情况不推荐建立索引&#xff1a; 1&#xff09;对于数据量很小的表 当表的数据量很小&#xff08;如几百条记录&#xff09;时&#xff0c;建立索引并不会显著提高查询性能&#xff0c;反而可能增加管理的复杂性&#xff1b; 2&#xff09;频繁更新的表 对于…

Vue 组件基础(五)

一、Vue 组件的基础概念 组件(Component)是Vue最强大的功能之一。组件可以扩展HTML元素&#xff0c;封装可重用的代码。在较高层面上&#xff0c;组件是自定义元素&#xff0c;Vue的编译器为它添加特殊功能。每个组件负责一部分特定的任务&#xff0c;比如&#xff1a;显示一个…

Spring学习笔记(一)

一 、Spring概述 (一)Spring是什么 Spring是一个分层的Java SE/EE full-stack&#xff08;一站式&#xff09;轻量级开源框架&#xff0c;以 IoC&#xff08;Inverse Of Control&#xff1a;反转控制&#xff09;和 AOP&#xff08;Aspect Oriented Programming&#xff1a;面…

数码身份与隐私保护挑战,未来监控社会如何应对?

内容概要 在这个数字化飞速发展的时代&#xff0c;数码身份如雨后春笋般涌现&#xff0c;似乎每个人都在网络的宇宙中拥有自己的“数字分身”。但随着这一现象的发展&#xff0c;隐私保护的挑战随之而来&#xff0c;就像一只藏在角落里的猫&#xff0c;随时可能蹦出来让你手足…