【MySQL高级篇】数据库到底是什么?一文带你快速上手MySQL

news2024/10/6 6:03:24

在这里插入图片描述

在学习JavaWeb过程中,数据库学习是不可或缺的。整个JavaWeb体系中,数据库部分用于储存和管理数据,而数据作为网页中非常重要的一部分,自然我们是有必要深入学习数据库的。


推荐学习专栏:Java编程 进阶之路

文章目录

  • 1. 数据库的相关概念
    • 1.1 数据
    • 1.2 数据库
    • 1.3 数据库管理系统
    • 1.4 数据库系统
    • 1.5 SQL
  • 2. MySQL数据库
    • 2.1 MySQL安装
    • 2.2 MySQL配置
      • 2.2.1 添加环境变量
      • 2.2.2 新建配置文件
      • 2.2.3 初始化MySQL
      • 2.2.4 注册MySQL服务
      • 2.2.5 启动MySQL服务
    • 2.3 MySQL登录和退出
    • 2.4 MySQL卸载
  • 3. SQL语句
    • 3.1 SQL简介
    • 3.2 通用语法
    • 3.3 SQL分类
  • 4. 总结

在这部分学习过程中,主要以MySQL数据库为例,学习数据库的基础知识,SQL语句的使用,JDBC开发技术,MyBatis简化JDBC开发以及用于方便管理项目的Maven技术…

从基础知识到深入学习,循序渐进,只要你认真学习完这个专栏的内容,相信你一定可以打开编程新世界的大门!

1. 数据库的相关概念

在这里插入图片描述

1.1 数据

数据是指数据库中存储的基本对象,是描述事物的符号记录。

1.2 数据库

数据库是指存放数据的仓库,长期存放在计算机内的有组织可共享的数据集合。

在这里插入图片描述

数据库技术解决了数据的持久化存储问题,同时利用数据库管理系统解决了对大量数据操作繁琐的问题。

1.3 数据库管理系统

数据库管理系统是指位于用户和操作系统之间的一层数据管理软件,科学的组织和存储,高效的获取和维护。

在这里插入图片描述

我们所说的MySQL数据库就是指MySQL数据库管理系统,在大家日常的使用习惯中把他叫做MySQL数据库。在我们的电脑安装好数据库管理系统软件以后就来创建数据库管理数据,同时也可以对数据库中的数据进行增删改查的操作。

1.4 数据库系统

数据库,数据库管理系统,应用程序和数据库管理员共同组成了数据库系统

1.5 SQL

SQL的英文是 Structured Query Language,简称 SQL,是一种操作关系型数据库的结构化查询语言,我们在操作数据库时经常用到的操作就是查询操作。

SQL定义了操作所有关系型数据库的统一标准,可以使用SQL操作所有的关系型数据库管理系统,在使用其他的数据库管理系统时,也同样可以使用SQL来操作。

2. MySQL数据库

2.1 MySQL安装

MySQL有很多的安装方式,这里可以使用绿色版,避免了安装版的一些繁琐的操作,直接在官网下载与自己电脑相对应的版本的压缩文件,然后将压缩文件解压到一个非中文的目录中。

在这里插入图片描述
这里选择下载的产品版本是 5.7.24 ,原因是各个库支持的最完善且相对于最新版本更加的稳定。

2.2 MySQL配置

2.2.1 添加环境变量

在这里插入图片描述

右键此电脑 / 属性 / 高级系统设置 / 环境变量 ,在系统变量中新建变量,命名为 MYSQL_HOME,变量值为刚才MySQL的存放路径。

双击系统变量中的Path,值为 %MySQL_HOME%\bin 。添加环境变量的方式与前面学习配置Java环境变量大致相同。

那么,我们为什么要先配置环境变量呢?

平时,我们在命令行窗口中输入一个可执行程序的命令时,Windows会先在环境变量中的Path所指的路径中寻找,如果找到就直接执行,没找到就在当前工作目录中寻找,如果还没找到,就会报错。

我们添加环境变量的目的就是能够在任意路径下运行配置了环境变量的程序,而不用总是修改工作目录,大大简化了操作。

我们如何验证添加环境变量成功呢?

此时,我们只需要以管理员身份运行命令提示符工具,执行musql,如果提示 Can't connect to MySQL server on 'localhost',则环境变量添加成功。

注:此时必须以管理员身份运行命令提示符工具,否则会报错。

2.2.2 新建配置文件

在MySQl的根目录中创建一个配置文件 my.ini ,其内容为:

[mysql]
default-character-set=utf8

[mysqld]
character-set-server=utf8
default-storage-engine=INNODB
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

主要目的是配置数据库的默认编码集为utf-8和默认存储引擎为INNODB

2.2.3 初始化MySQL

在命令提示符窗口中运行mysqld --initialize-insecure,如果没有出现报错,则证明data目录初始化成功。

mysqld --initialize-insecure

此时当我们再打开查看MySQL目录,已经有data目录生成。

2.2.4 注册MySQL服务

在命令提示符窗口中运行 mysqld -install,此时你的电脑就成功注册了MySQL服务,此时你的电脑就可以称为MySQL服务器。

mysqld -install

2.2.5 启动MySQL服务

在命令提示符窗口中运行net start mysql,此时,我们已经成功启动MySQL服务。

net start mysql

运行net stop mysql即可停止MySQL服务。

net stop mysql

可以通过运行mysqladmin -u root password 1234修改默认账户密码,这里的1234指默认管理员(即root账户)的密码。

mysqladmin -u root password 1234

2.3 MySQL登录和退出

在命令行中运行mysql -uroot -p,按照提示输入密码 ,即登录成功。

mysql -uroot -p密码

登录命令中的参数:

mysql -u用户名 -p密码 -h要连接的mysql服务器的ip地址(默认127.0.0.1) -P端口号(默认3306)

退出MySQL时:

exit
quit

2.4 MySQL卸载

我们只需要简单的三步就可以完成MySQL的卸载:

第一步:运行net stop mysql

net stop mysql

第二步:运行mysqld -remove mysql

mysqld -remove mysql

第三步:删除MySQL目录及相关的环境变量。

3. SQL语句

3.1 SQL简介

SQL被称为结构化查询语言,可以用于对所有的关系型数据库进行操作,即我们可以通过SQL语句对数据库、表、数据进行增删改查操作。

SQL定义了操作关系型数据库的统一标准,但是,对于同一个需求,每一种数据库操作的方式可能会存在一些不一样的地方。

3.2 通用语法

在这里插入图片描述

MySQL 数据库的 SQL 语句不区分大小写,关键字建议使用大写。

SQL 语句可以单行或多行书写,以分号结尾。

注释:

  1. 单行注释: – 注释内容 或 #注释内容(MySQL 特有)

  2. 多行注释: /* 注释 */

3.3 SQL分类

在这里插入图片描述

DDL: 数据定义语言,用来定义数据库对象:数据库,表,列等

DML: 数据操作语言,用来对数据库中表的数据进行增删改

DQL:数据查询语言,用来查询数据库中表的记录(数据)

DCL:数据控制语言,用来定义数据库的访问权限和安全级别,及创建用户

数据是数据库中非常重要的部分,所以在日后的操作中我们最常进行的是对数据的一些操作,即对数据进行怎删改查,所以最常用操作的是 DMLDQL

总的来说DML用于对数据增删改,DQL用于对数据查询操作,DDL用于操作数据库,而DCL是用来控制权限。

4. 总结

MySQL作为一个开源免费的数据库管理系统,成为了我们大多数人学习数据库的第一个工具,这篇文章作为数据库学习的初识篇,我们已经全面的总结了数据库系统基础知识,安装并学会了使用MySQL数据库。

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

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

相关文章

【C语言 数据结构】顺序表的使用

本文借鉴点击跳转 上一篇:线性表的简绍 文章目录顺序表什么是顺序表顺序表的初始化顺序表插入元素顺序表删除元素顺序表 什么是顺序表 顺序表又称顺序存储结构,是线性表的一种,专门存储逻辑关系为“一对一”的数据。 顺序表存储数据的具体…

Linux~一些基本开发工具的使用(yum,vim,gcc,gdb,makefile)

目录 一.yum——安装软件 二.Vim——文本编辑器 (1).命令模式 (2).底行模式 (3).插入模式 tips:给对应用户配置sudo命令 一些注意事项 三.gcc/g——编译器 (1).gcc如何完成…

客快物流大数据项目(八十三):Kudu的优化

文章目录 Kudu的优化 一、​​​​​​​Kudu关键配置 二、​​​​​​​​​​​​​​Kudu的使用限制 1、​​​​​​​​​​​​​​主键 2、Cells 3、​​​​​​​字段 4、表 5、其他限制 6、​​​​​​​​​​​​​​分区限制 7、扩展建议和限制 8、​…

2- 创建Spring项目—— 方式1

导包: 地址:https://repo.spring.io/ui/native/libs-release-local/org/springframework/spring/ 如:包名:spring-5.2.3.RELEASE-dist.zip 将其下libs文件夹下的4个jar包导入: spring-context-5.2.3.RELEASE.jar、…

物联网ARM开发-3协议-单总线应用红外遥控

前言:单总线类传感器-红外遥控的实现 目录 一、红外遥控工作原理讲解 1、光的基础知识 2、红外通信 3、红外NEC协议详解 二、红外遥控实例讲解 1、实验目的:按下遥控按键,主机通过红外接收器接收到信号并解码,识别出按键的…

大学生计算机相关专业有什么血泪建议吗?

工作多年后才发现大学期间错过太多!!!给正在攻读CS的你,以下建议: 神级编程网站,堪称程序员的充电站,我给你找好了不能错过_程序员编程指南的博客-CSDN博客_程序员充电网站 大的课程很多&…

LA-PEG-NH2,Lipoic acid-PEG-Amine,硫辛酸PEG氨基用于量子点表面

表面反应性聚乙二醇聚乙二醇化试剂LA-PEG-NH2,又名Lipoic acid-PEG-Amine其中文名为硫辛酸-聚乙二醇-氨基。所属分类为Amine PEG Lipoic acid(LA)PEG。 该科研试剂Lipoic acid-PEG-Amine的分子量均可定制有:(5000、20…

uboot移植一一更换控制台串口

以下内容源于朱有鹏嵌入式课程的学习与整理,如有侵权请告知删除。 1、场景需求 X210开发板的SOC中一共有4个串口(串口0~3),并且用DB9接口引出了2个串口,分别是串口0和串口2。其中靠近网口的是串口0,远离网口…

java毕业设计——基于java+java-swing的泡泡堂网络游戏设计与实现(毕业论文+程序源码)——泡泡堂网络游戏

基于javajava-swing的泡泡堂网络游戏设计与实现(毕业论文程序源码) 大家好,今天给大家介绍基于javajava-swing的泡泡堂网络游戏设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦。 文章目录: 基于javajava-…

多旋翼无人机仿真 rotors_simulator:基于PID控制器的位置控制---高度控制

多旋翼无人机仿真 rotors_simulator:基于PID控制器的位置控制---高度控制前言构建软件框架编译 cpp构建代码main函数构建构建类的定义订阅无人机里程计信息垂直位置控制串级P控制收敛结果收敛过程串级PID控制前言 无人机(Unmanned Aerial Vehicle&#…

Oracle中分割字符串的方法

Oracle中分割字符串的方法1. 使用 regexp_substr() 函数1.1 方式11.2 方式22. 自定义函数2.1 自定义类型 table2.2 自定义函数2.2.1 自定义函数2.2.2 效果如下:2.3 Oracle查看<Collection> 类型数据3.1. 使用 regexp_substr() 函数 1.1 方式…

日志三个时间,动静态库的建立与使用

文章目录日志时间ModifyChangeAccessmake与g库lddfile静态库动态库静态库静态的制作静态库的使用动态库动态库的制作动态库的使用日志时间 Modify 最近修改文件内容的时间在一定条件下,修改文件内容时,可能修改文件属性:文件大小属性改变了 …

实验2:Numpy手写多层神经网络

引言 这个作业的目的是给你们介绍建立,训练和测试神经系统网络模型。您不仅将接触到使用Python包构建神经系统网络从无到有,还有数学方面的反向传播和梯度下降。但在实际情况下,你不一定要实现神经网络从零开始(你们将在以后的实验和作…

【数据结构与算法】详解快排

目录一、快排的定义及思路二、快排的代码实现一、快排的定义及思路 快排就是快速排序,是通过不断比较和移动交换来进行排序,相当于冒泡排序的一种升级。 其基本思想是: 分而治之,也就是把一组数组分成两个独立数组,再对…

【初学者入门C语言】之结构体(十一)

个人主页:天寒雨落的博客_CSDN博客-C,CSDN竞赛,python领域博主 💬 刷题网站:一款立志于C语言的题库网站蓝桥杯ACM训练系统 - C语言网 (dotcpp.com) 特别标注:该博主将长期更新c语言内容,初学c语言的友友们&#xff0c…

【树莓派不吃灰】使用中经常看到的安装命令 wget、rpm、yum、dpkg、apt-get

目录1. 前言2. Linux系统两种主流软件包2.1 rpm包2.2 deb包3. 解决软件依赖问题 —— yum、apt3.1 yum3.2 apt 和 apt-get4. wget 网络文件下载工具5. 总结❤️ 博客主页 单片机菜鸟哥,一个野生非专业硬件IOT爱好者 ❤️❤️ 本篇创建记录 2022-10-28 ❤️❤️ 本篇…

设计模式之备忘录模式 - 简书

备忘录模式是一种行为设计模式, 允许在不暴露对象实现细节的情况下保存和恢复对象之前的状态。 解决方案 我们刚才遇到的所有问题都是封装 “破损” 造成的。 一些对象试图超出其职责范围的工作。 由于在执行某些行为时需要获取数据, 所以它们侵入了其…

ipv6学习笔记221029

IPv6是英文“Internet Protocol Version 6”(互联网协议第6版)的缩写 ipv6的长度有128位, ipv4的长度是32位 ipv6以冒号:分隔 , ipv4以点.分隔 8个16位等于128位 , 4个十六进制表示16位(一个16进制表示4位) ipv6的128位 由 8 个 16位 16bit 组成 每…

【LeetCode】【两个数组的交集】

力扣 给定两个数组 nums1 和 nums2 ,返回 它们的交集 。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序 。 示例 1: 输入:nums1 [1,2,2,1], nums2 [2,2] 输出:[2] 示例 2: 输入:num…

基于MATLAB的指纹识别算法仿真实现

目录 一、理论基础 二、核心程序 三、测试结果 一、理论基础 在指纹图像预处理部分,论文对预处理的各个步骤包括规格化、图像分割、中值滤波、二值化、细化等以及各个步骤的方法进行了深入的分析和研究,选择了一种图像预处理方案。在指纹特征提取部分…