前端应该掌握的Mysql

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

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
1月前
|
前端开发 关系型数据库 MySQL
SpringBoot-----从前端更新数据到MySql数据库
SpringBoot-----从前端更新数据到MySql数据库
32 1
|
1月前
|
JSON 前端开发 Java
管理系统总结(前端:Vue-cli, 后端Jdbc连接mysql数据库,项目部署tomcat里)
管理系统总结(前端:Vue-cli, 后端Jdbc连接mysql数据库,项目部署tomcat里)
|
1月前
|
前端开发 JavaScript 关系型数据库
【前端必备】使用NodeJs写接口(本地连接MySQL + 连接到云服务MySQL)
【前端必备】使用NodeJs写接口(本地连接MySQL + 连接到云服务MySQL)
166 0
|
1月前
|
前端开发 关系型数据库 MySQL
前端知识笔记(二十九)———MySQL通配符和正则表达式
前端知识笔记(二十九)———MySQL通配符和正则表达式
37 0
|
6月前
|
前端开发 关系型数据库 MySQL
J2EE项目部署与发布(Linux版本)->jdk&tomcat安装,MySQL安装,后端接口部署,linux单体项目前端部署
J2EE项目部署与发布(Linux版本)->jdk&tomcat安装,MySQL安装,后端接口部署,linux单体项目前端部署
64 0
|
监控 JavaScript 前端开发
人员定位系统源码,前端框架:vue 后端框架:spring boot 数 据 库:mysql
提供位置实时显示、历史轨迹回放、人员考勤、电子围栏、行为分析、智能巡检等功能。定位精度高达10cm,同时具备高动态、高容量、低功耗的优点。
人员定位系统源码,前端框架:vue  后端框架:spring boot    数 据 库:mysql
|
JSON 前端开发 Java
【前端+后端项目】 - 论坛信息管理系统(Web+servlet+MySQL+JDBC)
现在我们可以基于模板的方式,通过服务器把数据渲染到页面中,然后直接返回完整的页面给浏览器。
379 0
|
1天前
|
SQL 运维 关系型数据库
|
1天前
|
存储 关系型数据库 MySQL
|
1天前
|
存储 关系型数据库 MySQL

热门文章

最新文章