MySQL 初识MySQL

目录

  • 1 数据库
    • 1.1 前言
    • 1.2 数据库分类
      • 1.2.1 关系型数据库(RDBMS)
      • 1.2.2 非关系型数据库
      • 1.2.3 关系型数据库与非关系型数据库的区别
  • 2 链接数据库
  • 3 SQL分类
  • 4 存储引擎

1 数据库

1.1 前言

  1. 到底什么是MySQL?
    大家都知道MySQL叫做数据库。那么什么是数据库呢?
    数据库是存储数据的一种服务器。
  2. 安装主要分为:
    MySQL客户端的安装:
    安装好的MySQL的客户端就是下图所示的内容:
    在这里插入图片描述
    客户端client的体现方式可以是下面三种的任一种:
    (1)MySQL自带的
    (2)cmd: 一定要配置环境变量,命令行语句为:mysql -u root -p密码
    (3)借助工具,例如:Navicat
    MySQL服务器的安装:
    安装好的MySQL的服务器就是下图所示的内容:
    在这里插入图片描述
    编码问题:
    解决MySQL不能添加中文数据(会乱码)的步骤如下图所示:
    在这里插入图片描述在这里插入图片描述
  3. 数据存储方式的发展史:

(1) 人工管理阶段:数据主要存储在纸带、磁带等介质上,或者直接通过手工记录。
(2) 文件系统阶段:数据没有进行结构化处理,查询起来还不是很方便。
(3) 数据库系统阶段:建立数据库,在数据库中建立表。表是数据库存储数据的基本单元。关系数据库中的表都是二维表。

对于数据库也可借助下图进行理解:
在这里插入图片描述

  1. 数据库 和 数据结构有什么区别?
    数据结构是一门学科;
    数据库是一个软件,数据库底层也用到了数据结构,且很依赖于这个数据结构,后期回学习高阶数据结构。例如:B树、B+Tree。
  2. 数据库的优点:
    存储数据用文件就可以了,为什么还要弄个数据库?

文件保存数据有以下几个缺点:
(1)文件的安全性问题
(2)文件不利于数据查询和管理
(3)文件不利于存储海量数据
(4)文件在程序中控制不方便

数据库存储介质: 磁盘、内存。
为了解决上述问题,专家们设计出更加利于管理数据的软件——数据库,它能更有效的管理数据。数据库可以提供远程服务,即通过远程连接来使用数据库,因此也称为数据库服务器。即文件存储的缺点就是数据库的优点。

1.2 数据库分类

数据库大体可以分为:关系型数据库 和 非关系型数据库。

1.2.1 关系型数据库(RDBMS)

关系型数据库是指采用了关系模型来组织数据的数据库。 简单来说,关系模型指的就是二维表格模型,而一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织。基于标准的SQL,只是内部一些实现有区别。
常用的关系型数据库如:

  1. Oracle:
    甲骨文产品,适合大型项目,适用于做复杂的业务逻辑,如ERP、OA等企业信息系统。收费。
  2. MySQL:
    属于甲骨文,不适合做复杂的业务。开源免费。
  3. SQL Server:
    微软的产品,安装部署在windows server上,适用于中大型项目。收费。

1.2.2 非关系型数据库

不规定基于SQL实现。现在更多是指NoSQL数据库,如:

  1. 基于键值对(Key-Value):如 memcached、redis。
  2. 基于文档型:如 mongodb。
  3. 基于列族:如 hbase。
  4. 基于图型:如 neo4j。

1.2.3 关系型数据库与非关系型数据库的区别

关系型数据库非关系型数据库
使用SQL不强制要求,一般不基于SQL实现
事务支持支持不支持
复杂操作支持不支持
海量读写操作效率低效率高
基本结构基于表和列,结构固定灵活性比较高
使用场景业务方面的OLTP系统用于数据的缓存、或基于统计分析的OLAP系统

注: OLTP(On-Line Transaction Processing)是指联机事务处理,OLAP(On-Line Analytical Processing)是指联机分析处理。

2 链接数据库

MySQL默认只允许在服务器本机 使用 root 用户登录,要开启 root 用户的远程登录,在MySQL服务器本机执行:

mysql -u root -p密码

要求输入密码,没有设置密码则直接回车。进入MySQL命令行以后,可以看到 mysql>,具体如下图所示:
在这里插入图片描述
注意:

  1. 如果遇到 :‘mysql‘ 不是内部或外部命令,也不是可运行的程序或批处理文件 的问题,则可参考文章https://blog.csdn.net/lexiaowu/article/details/129182499进行解决。
  2. 如果不知道mysql的安装目录,需要自己进行查看的话,则可参考文章https://blog.csdn.net/blbyu/article/details/128696173进行查看。

其他常用命令:

  1. 使用mysql数据库
    use mysql;
  2. 更新用户表的root账户,设置为任意ip都可以访问,密码修改为123456
    update user set host=“%”,authentication_string=password(‘123456’) where
    user=“root”;
  3. 刷新权限
    flush privileges;
  4. 退出
    quit;

3 SQL分类

SQL语言也是一种编程语言。SQL是用来操作数据库的数据的。

  1. DDL
    DDL数据定义语言,用来维护存储数据的结构。
    代表指令: create, drop, alter
    刚工作的时候我们一般不会用到,因为它一般用在项目开始的时候。
  2. DML
    DML数据操纵语言,用来对数据进行操作。
    代表指令: insert,delete,update
    但DML中又单独分了一个DQL,数据查询语言,代表指令: select。
    在工作中使用频率是最高的。
  3. DCL
    DCL数据控制语言,主要负责权限管理和事务。
    代表指令: grant,revoke,commit
    工作中主要针对运维人员,对于开发人员来说使用频率也不高。

以上SQL我们主要会在后面了解DDL和DML的操作。

4 存储引擎

存储引擎是:数据库管理系统如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方法。
在mysql中如何查看它的存储引擎,需要使用命令:

show engines;

查看结果如下图所示:
在这里插入图片描述
注:

  1. Transactions:事务
  2. 一些mysql中常用的引擎:InnoDB、MyISAM。
  3. Comment:注释。

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

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

相关文章

系统架构15 - 软件工程(3)

软件过程模型 瀑布模型特点缺点 原型化模型特点两个阶段不同类型注意 螺旋模型V 模型特点 增量模型特点 喷泉模型基于构件的开发模型(CBSD)形式化方法模型敏捷模型特点“适应性” (adaptive) 而非“预设性” (predictive)“面向人的” (People-oriented) 而非“面向过程的” (P…

vue2、vue3,生命周期详解

一、Vue2.x Vue2的生命周期 是指Vue实例从创建到销毁的整个过程中,会经历一系列的阶段和回调函数。它分为8个阶段,包括了组件的创建、挂载、更新和销毁等过程。 1、beforeCreate: 在实例初始化之后,但在数据观测和事件配置之前被调用。此…

【Linux编译器-gcc/g++使用】

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 设计样例,先见一下 方案一: 方案二: 在企业里面一般维护软件的源代码的话,要维护几份? 方案一&…

如何在短时间内制作出专业的产品说明书模板

产品说明书是企业向客户介绍产品的重要工具,能够直观地展示产品特点、功能以及使用方法。一个好的产品说明书模板可以帮助企业在短时间内制作出专业的产品说明书。那么怎样去做这个产品说明书模板呢?其实主要关注以下几个关键要素。 | 一、明确产品需求和…

x-cmd pkg | 7za - 7-Zip 的命令行版本

目录 简介首次用户主要特征竞品和相关作品进一步阅读 简介 7za 是一个开源的文件压缩和解压工具,是 7-Zip 的命令行版本。 7z 是一种拥有极高压缩比的格式,7za 提供压缩,解压,列举文件等功能除此之外,7za 还支持多种…

多维时序 | Matlab实现EVO-TCN-Multihead-Attention能量谷算法优化时间卷积网络结合多头注意力机制多变量时间序列预测

多维时序 | Matlab实现EVO-TCN-Multihead-Attention能量谷算法优化时间卷积网络结合多头注意力机制多变量时间序列预测 目录 多维时序 | Matlab实现EVO-TCN-Multihead-Attention能量谷算法优化时间卷积网络结合多头注意力机制多变量时间序列预测效果一览基本介绍程序设计参考资…

jQuery语法知识(DOM操作)

一、class 属性: .addClass()、.hasClass().removeClass()、.toggleClass() 二、DOM 插入并包裹现有内容 1、.wrap( wrappingElement): 在每个配的元素外层包上一个html元素。 …

Day45 动态规划part07 70.爬楼梯(进阶) 322. 零钱兑换 279. 完全平方数

动态规划part07 70.爬楼梯&#xff08;进阶&#xff09; 322. 零钱兑换 279. 完全平方数 70.爬楼梯&#xff08;进阶&#xff09;&#xff08;题目链接点我&#xff09; #include<iostream> #include<vector> using namespace std;int main(){int n,m;cin>>…

vit细粒度图像分类(一)CADF学习笔记

1.摘要&#xff1a; 目的 基于Transformer架构的网络在图像分类中表现出优异的性能。然而&#xff0c;注意力机制往往只关注图像中的显著性特征&#xff0c;而忽略了其他区域的次级显著信息&#xff0c;基于自注意力机制的Transformer也是如此。为了获取更多的有效信息&#…

基于51单片机的智能烘干机设计

基于51单片机的智能烘干机设计[proteus仿真] 温湿度检测系统这个题目算是课程设计和毕业设计中常见的题目了&#xff0c;本期是一个基于51单片机的智能烘干机设计 需要的源文件和程序的小伙伴可以关注公众号【阿目分享嵌入式】&#xff0c;赞赏任意文章 2&#xffe5;&#x…

python高级(1): 迭代器详解

文章目录 1. 迭代器与可迭代对象(Iterable)1.1 可迭代对象(Iterable)1.2 迭代器( Iterator) 2. 自定义一个可迭代器2.1 实现迭代器2.2 for 遍历迭代器的过程 3. yolov8 Dataset实现案例 Python迭代器的作用是提供一种遍历数据集合的方式。它是一个可以被迭代的对象&#xff0c;…

使用 Redis 的 List 数据结构实现分页查询的思路

假设有一个存储数据的 List&#xff0c;每个元素代表一个记录&#xff0c;例如 recordsList。 按页存储数据&#xff1a; 每页存储一定数量的记录。例如&#xff0c;第一页存储索引 0 到 N-1 的记录&#xff0c;第二页存储索引 N 到 2N-1 的记录&#xff0c;以此类推。 分页查…

文件上传到本地

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>上传文件</title> </head> <body><form action"/upload" method"post" enctype"multipart/form-data&…

小黑艰难的前端啃bug之路:内联元素之间的间隙问题

今天开始学习前端项目&#xff0c;遇到了一个Bug调了好久&#xff0c;即使margin为0&#xff0c;但还是有空格。 小黑整理&#xff0c;用四种方法解决了空白问题 <!DOCTYPE html> <html><head><meta charset"utf-8"><title></tit…

部署TOMCAT详解

目录 一、Tomcat概述 1.1Tomcat简介 1.2、Tomcat历史 1.3Tomcat官网 二、部署单实例Tomcat 1.下载Tomcat包 2. 解压Tomcat包 3.配置环境变量 4.刷新环境变量 5.查看tomcat是否安装成功 6.启动Tomcat 三、Tomcat目录介绍 1、tomcat主目录介绍 2.webapps目录介绍 3…

量子网络是什么

量子网络是基于量子力学规律对量子信息进行存储、处理和传输的物理装置&#xff0c;是实现量子通讯和大规模量子计算的基础。清华大学研究团队利用同种离子的双类型量子比特编码&#xff0c;在国际上首次实现无串扰的量子网络节点&#xff0c;对未来实现量子通讯和大规模量子计…

Springboot集成规则引擎框架-LiteFlow

程序员的公众号&#xff1a;源1024&#xff0c;获取更多资料&#xff0c;无加密无套路&#xff01; 最近整理了一波电子书籍资料&#xff0c;包含《Effective Java中文版 第2版》《深入JAVA虚拟机》&#xff0c;《重构改善既有代码设计》&#xff0c;《MySQL高性能-第3版》&…

mysql调优-Join多种连接方式

简单嵌套循环连接 r为驱动表&#xff0c;s为匹配表&#xff0c;可以看到从r中分别取出每一个记录去匹配s表的列&#xff0c;然 后再合并数据&#xff0c;对s表进行r表的行数次访问&#xff0c;对数据库的开销比较大 索引嵌套循环连接 这个要求非驱动表&#xff08;匹配表s&…

Linux中目录的操作和文件属性获取(opendir、readdir、close函数的使用)

访问目录 opendir函数 #include <dirent.h> DIR *opendir(const char *name); DIR *fdopendir(int fd); 使用文件描述符&#xff0c;要配合open函数使用 DIR是用来描述一个打开的目录文件的结构体类型 成功时返回目录流指针&#xff1b;出错时返回NULLreaddir函数 #incl…

Adobe Media Encoder 2023下载安装教程,ME 2023安装教程,附安装包和工具,无套路,轻松搞的安装

前言 Adobe Media Encoder是一个视频和音频编码应用程序&#xff0c;可让针对不同应用程序和观众&#xff0c;以各种分发格式对音频和视频文件进行编码。包括专门设计的预设设置&#xff0c;以便导出与特定交付媒体兼容的文件&#xff0c;可以按适合多种设备的格式导出视频&am…