前端应该掌握的Mysql

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 在现在的项目上,很容易发现有几个影响开发效率的点,我这边主要发现了两个,第一个是由于有些项目可能后端接口文档给的不够及时导致的项目发版延迟或者开发效率过慢;另一个就是说有些业务模块需要依赖于对数据库表的理解,导致前端开发人员因为不熟悉数据流向不容易协助后端定位问题,以及思考方式容易出现偏颇的问题,这里做一下前端的Mysql入门操作介绍:这里主要从工具以及常用语句进行普及

1.Mysql工具

一般来说,我们是使用navicat的,当然如果有基础的可以直接cmd,去做mysqld操作,也可以使用SQLyog可视化工具,我们这里以navicat为例。

windows下载地址链接:https://pan.baidu.com/s/1xZPCAX1WZ_AfBj41Ts-BkQ 提取码:yyds

mac啥的自行找一下哈。

1.连接数据库

一般点击连接>MySQL,然后就可以进行地址链接设置,根据后端所发给你的内容进行链接

连接名可以随便输入,只要你能分得清楚哪个是你当前项目的信息即可

主机必须是后端发给你的IP地址哈

端口一般都是3306,后端发的链接也会有的

密码就让他发给你就好,当然如果已经连接过也可以查看但是要解密,一会给大家看一下哈

最后点击连接测试,如下图所示就可以了

连接成功后,我们就可以看到这个地址内所有的链接库了

找到我们所需要查看的某一个库,去里面就可以看到项目里所用到的表了,我们可以对这些表做数据查看,以及数据规整,当然尽可能不去直接操作测试环境库的数据,禁止操作预发生产环境的数据啊!

2.navicat常用操作

这个操作也是自己项目过程中,以及之前使用熟悉上理解出来的哈,还有什么骚操作欢迎补充。另外,这里我们不考虑前端做导表,导出数据相关操作,虽然在下之前也干过,有一些因为不同系统的问题也会有一些坑,后面有时间的话可以去做补充,但是这些和前端开发关系基本极少,这里不做整理,类比只是对已建好的房屋做一些分析查看。

1.查看字段名称

这个操作可以说是屡试不爽,先说场景,比如你在开发新功能的时候,一定会去看后端接口文档,然后有些字段你可能没有找到,当然可以问,不过回复及不及时我不知道。最快的当然是直接看库了,没有字段直接找他就好,而且一般规范的库都会对创建表的时候增加注释,我这里是个人库,只是举个例子:

如果有的话,会在每一行字段后增加注释的话,如何查看记得点击右上角那个蓝色的哈。

2.筛选指定字段

这个方法对于不会写SQL语句的前端开发来说,可以说是及其有用了,操作极其简单,点击筛选>然后选择指定字段,去做一个匹配就可以实现类似

select*from xxx where 所选 (判断方式)'劈里啪啦'

的效果,点击应用即可生效:

当然,它也支持多选,可以做多项筛选:

用起来还是极为方便的,另外,他也可以做排序处理,实现order by的效果:

可以进行每一项的排序操作,基本实现了七成的查询功能,对前端来说基本够用。

另外,对于修改的相关操作,这里不做描述,比较基本,可以进行全列修改以及某单一值修改,记得点击左下角的√保存即可。

3.SQL语句的学习

sql语句这部分,对于前端开发的小伙伴们,我主要说一下查询,对于增加,删除,修改也会介绍一点,另外,对于创建表,创建索引,触发器以及存储过程就不做介绍了,后面需要自己搭建环境做后端的话再做补充。

1.查询语句

查询语句是基于Select做一些增加条件的语句,这里我们的表格采用allfiles,我们这里举几个常用的例子:

1.查询表格全量数据

SELECT*FROM allfiles;

*表示所有数据,这句话可以查询到allfiles表的所有数据

2.查询id为5的数据

SELECT*FROM allfiles where id="5";

3.查询id不为5的数据

SELECT*FROM allfiles where id<>"5";

这里要注意不等于的写法。

4.查询id不为5的数据,并且从大到小排序

SELECT*FROM allfiles where id<>"5"ORDERBY id desc;

这里注意desc和asc分别是从大到小和从小到大

5.查询id不为5,并且要按照type类型进行计数,并按照从大到小排序,结果展示type和每一个type的总数

SELECTcount(*),type FROM allfiles where id<>"1"GROUPBY type ORDERBYcount(*)desc;

这个入门者可能理解就差点意思,这里大致说一下,count(*)就是计算一个条数的计数总和,group by是按照type进行整理分组。

6.查询id不为1,并且要按照type类型进行计数,并按照从大到小排序,筛选出,每一种type出现大于1的结果,结果展示type和每一个type的总数。

SELECTcount(*),type FROM allfiles where id<>"1"GROUPBY type HAVINGcount(*)>1ORDERBYcount(*)desc;

这个语句大体上就包括了现在入门所有的基础字段使用场景,我整个解析一下这句话:

SELECT count(*),type FROM allfiles GROUP BY type->查询allfiles表中按照type整理每一种出现的数量以及类型名称

where id<>"1"->查询id不等于1的

HAVING count(*) > 1-> 新得到的字段中每一种类型总数大于1的

ORDER BY count(*) desc->按照出现个数总数从大到小排序

我们还可以给某个新的字段设置别名,使用as关键字,可以把这句话改写为:

SELECTcount(*)as allCount,type FROM allfiles where id<>"1"GROUPBY type HAVING allCount >1ORDERBYcount(*)desc;

6.双表查询,查询allfiles表和wjyzhixing表里size大小一样的数据的两allfiles的id和wjyzhixing的id

select wjyzhixing.idas wjyzhixingId,allfiles.idas allfilesId from allfiles,wjyzhixing where allfiles.size=wjyzhixing.size


这里还有一些多表查询的其他关键字,比如INNER JOIN,LEFT JOIN,RIGHT JOIN等,后面需要细致使用再做更新。

2.增加语句

1.对allfiles表增加一条LastName为1,hashName为2,lastTime为3,size为4,download为5的数据

INSERTINTO allfiles(LastName,hashName,lastTime,size,download)VALUES(1,2,3,4,5)

这里我就做一个例子,根据这个句子可以进行增加,其他的相关操作可自行查找学习。

3.修改语句

1.对allfiles表里面LastName为1的数据,将他们额download改成100

UPDATE allfiles SET download='100'where LastName='1'

这里我也只举这一个例子,其他的可以去自行学习。

4.删除语句

1.删除allifiles表里id为19的数据

DELETEfrom allfiles WHERE id=19

2.按照id降序排序,删除size为4的前五项数据

DELETEfrom allfiles WHERE size=4LIMIT5;

这两个删除基本可以包括现在常用的部分主要是根据筛选条件做删除。

到这里,前端来说的SQL语句基本介绍的差不多了。

3.附录

这里整理几个小问题,可能对大家有所帮助哈

1.对已经连接的库忘了密码咋办?

这个其实是很常见的,比如说你已经连接了测试库,但是你可能并不能背下来库的密码(这很正常啊),然后后端和你的聊天记录可能不好找,或者说是后端口头给你说的密码,这样可能测试小姐姐找你要库的时候你就会很尴尬,说自己连了库但是不能让她连上,这样就用到了这个知识点。

我整理了比较快的一些方法,防止下次再出现问题,一次操作,终生可用哈哈。首先需要下载一下我的这个链接,我的也是从大神的github拉下来的哈,防止速度尴尬:

链接:https://pan.baidu.com/s/11X0eGPf_Og6tcxRoJ7eQAg 提取码:yyds

下载之后我们进入到python3目录,前提你的电脑要有python3的环境哈,然后安装一下这俩包

pipinstallpycryptodomepipinstallpypiwin32


安装好之后,进入到项目的python3目录哈,执行我下面这个代码就可以了:

下面这个输出的就是实际的密码啦!

哦对了,忘了重要的一点,我怎么获取到加密的密码哈:

我们点击文件>导出连接,然后选择自己的库,勾选到处密码就ok啦。

然后我们就获取到一个ncx文件,大概是这样:

<?xmlversion="1.0" encoding="UTF-8"?><ConnectionsVer="1.4"><ConnectionConnectionName="localhost_3306"ProjectUUID=""ConnType="MYSQL"OraConnType=""ServiceProvider="Default"Host="localhost"Port="3306"Database=""OraServiceNameType=""TNS=""MSSQLAuthenMode=""MSSQLAuthenWindowsDomain=""DatabaseFileName=""UserName="root"Password="550B6D30C73488FF1363A32EE28366CB"SavePassword="true"SettingsSavePath="C:\Users\浩鲸新智能\Documents\Navicat\MySQL\Servers\localhost_3306"SessionLimit="0"Encoding="0"Keepalive="false"KeepaliveInterval="240"MySQLCharacterSet="true"Compression="false"AutoConnect="false"NamedPipe="false"NamedPipeSocket=""OraRole=""OraOSAuthen="false"SQLiteEncrypt="false"SQLiteEncryptPassword=""SQLiteSaveEncryptPassword="false"UseAdvanced="false"SSL="false"SSL_Authen="false"SSL_PGSSLMode="REQUIRE"SSL_ClientKey=""SSL_ClientCert=""SSL_CACert=""SSL_Clpher=""SSL_PGSSLCRL=""SSH="false"SSH_Host=""SSH_Port="22"SSH_UserName=""SSH_AuthenMethod="PASSWORD"SSH_Password=""SSH_SavePassword="false"SSH_PrivateKey=""SSH_Passphrase=""SSH_SavePassphrase="false"SSH_Compress="false"HTTP="false"HTTP_URL=""HTTP_PA=""HTTP_PA_UserName=""HTTP_PA_Password=""HTTP_PA_SavePassword=""HTTP_EQ=""HTTP_CA=""HTTP_CA_ClientKey=""HTTP_CA_ClientCert=""HTTP_CA_CACert=""HTTP_CA_Passphrase=""HTTP_Proxy=""HTTP_Proxy_Host=""HTTP_Proxy_Port=""HTTP_Proxy_UserName=""HTTP_Proxy_Password=""HTTP_Proxy_SavePassword=""/></Connections>



我们直接把Password="550B6D30C73488FF1363A32EE28366CB"取出来,这个值去做解密就好啦。

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
4月前
|
前端开发 关系型数据库 MySQL
【前端学java】MySQL数据库的本地安装
【8月更文挑战第12天】MySQL数据库的本地安装
48 3
|
4月前
|
搜索推荐 前端开发 数据可视化
基于Python协同过滤的旅游景点推荐系统,采用Django框架,MySQL数据存储,Bootstrap前端,echarts可视化实现
本文介绍了一个基于Python协同过滤算法的旅游景点推荐系统,该系统采用Django框架、MySQL数据库、Bootstrap前端和echarts数据可视化技术,旨在为用户提供个性化的旅游推荐服务,提升用户体验和旅游市场增长。
296 9
基于Python协同过滤的旅游景点推荐系统,采用Django框架,MySQL数据存储,Bootstrap前端,echarts可视化实现
|
4月前
|
搜索推荐 前端开发 算法
基于用户画像及协同过滤算法的音乐推荐系统,采用Django框架、bootstrap前端,MySQL数据库
本文介绍了一个基于用户画像和协同过滤算法的音乐推荐系统,使用Django框架、Bootstrap前端和MySQL数据库构建,旨在为用户提供个性化的音乐推荐服务,提高推荐准确性和用户满意度。
280 7
基于用户画像及协同过滤算法的音乐推荐系统,采用Django框架、bootstrap前端,MySQL数据库
|
4月前
|
前端开发 数据挖掘 关系型数据库
基于Python的哔哩哔哩数据分析系统设计实现过程,技术使用flask、MySQL、echarts,前端使用Layui
本文介绍了一个基于Python的哔哩哔哩数据分析系统,该系统使用Flask框架、MySQL数据库、echarts数据可视化技术和Layui前端框架,旨在提取和分析哔哩哔哩用户行为数据,为平台运营和内容生产提供科学依据。
248 9
|
4月前
|
数据采集 数据可视化 关系型数据库
【优秀python web设计】基于Python flask的猫眼电影可视化系统,可视化用echart,前端Layui,数据库用MySQL,包括爬虫
本文介绍了一个基于Python Flask框架、MySQL数据库和Layui前端框架的猫眼电影数据采集分析与可视化系统,该系统通过爬虫技术采集电影数据,利用数据分析库进行处理,并使用Echart进行数据的可视化展示,以提供全面、准确的电影市场分析结果。
142 4
|
7月前
|
前端开发 关系型数据库 MySQL
SpringBoot-----从前端更新数据到MySql数据库
SpringBoot-----从前端更新数据到MySql数据库
59 1
|
7月前
|
JSON 前端开发 Java
管理系统总结(前端:Vue-cli, 后端Jdbc连接mysql数据库,项目部署tomcat里)
管理系统总结(前端:Vue-cli, 后端Jdbc连接mysql数据库,项目部署tomcat里)
|
2月前
|
存储 人工智能 前端开发
前端大模型应用笔记(三):Vue3+Antdv+transformers+本地模型实现浏览器端侧增强搜索
本文介绍了一个纯前端实现的增强列表搜索应用,通过使用Transformer模型,实现了更智能的搜索功能,如使用“番茄”可以搜索到“西红柿”。项目基于Vue3和Ant Design Vue,使用了Xenova的bge-base-zh-v1.5模型。文章详细介绍了从环境搭建、数据准备到具体实现的全过程,并展示了实际效果和待改进点。
148 2
|
2月前
|
JavaScript 前端开发 程序员
前端学习笔记——node.js
前端学习笔记——node.js
44 0
|
2月前
|
人工智能 自然语言处理 运维
前端大模型应用笔记(一):两个指令反过来说大模型就理解不了啦?或许该让第三者插足啦 -通过引入中间LLM预处理用户输入以提高多任务处理能力
本文探讨了在多任务处理场景下,自然语言指令解析的困境及解决方案。通过增加一个LLM解析层,将复杂的指令拆解为多个明确的步骤,明确操作类型与对象识别,处理任务依赖关系,并将自然语言转化为具体的工具命令,从而提高指令解析的准确性和执行效率。