一篇新手入门级mysql数据库的简易使用笔记

简略内容

正如题目所说,这是面向入门级朋友的一篇简单查询命令汇总笔记,不会特别去谈一些主观概念的问题。比如约束问题就不会摆出概念细聊。毕竟你只是要概念的话学校老师会划重点,百科也都是。那,这篇文章适用于写项目或者写作业偶尔忘了某一条方法的初学者,又或者很久没碰突发奇想要玩一下不知道从哪开始的同学,这篇会建库讲起,查询的概念会从单条到多条件优化。需求素材稍后分享在平台上免费下载。

一,新建表

那,就从新建表开始吧,我这边是用的Navicat15,作为和12同为普遍学习版的猫猫,他优化了与服务器偶尔连接失败的bug,而且关于快速插入信息会出现误插入的恶性bug也暂时没见到。

1,建库

在这里插入图片描述
很明了,右键新建数据库,你需要填写数据库的名字,字符集输入utf8或者如图选择utf8mb64,排序规则不填。那么如果你是打算导入表的话就需要看看你导入文件啦,utf8mb64包含utf8,不过也意味着花费更大的空间,这个需要自行斟酌。确定之后双击,就会变成这个样子。
在这里插入图片描述

2,分支1,运行与存储SQL文件

在这里插入图片描述
首先,存储SQL如图所示,如果你现在有且仅有一个表,如图所示,现在有一个结构是主键id,包含有名字,密码,电子邮件,类型,以及部分可能会扩展的列。那么你选择转储仅结构传给别人就会获得一个具有该样式的空表。
在这里插入图片描述
但是我们可以看到有admin和zhangsan两条用户数据,那么这些就会被忽略,但是当选择结构和数据的时候这些会被一起打包带走。转存的原理相当于把表ui所展示的变回命令存入sql里,当你选择运行SQL文件就会重新执行一遍,这也就会存在数据损坏可能,接下来我们就会谈到。

ps:表的导入(excel)

因为曾经有过大批量数据处理的问题,比如医院病患数据量过大excel处理一卡一卡的,而且有时候还会出现干扰数据的问题,做统计相当麻烦,所以最后还是选择用这个的经历所以简单说一下。在你表上或者数据库右击可选择导入向导。
在这里插入图片描述
然后你就会看到这个!
在这里插入图片描述
选择你需要的下一步即可,我这里需要导入的是excel类型。下一步,选择需要的文件和表存在页
在这里插入图片描述
因为这边的数据都是需要的,我们就全选了。下一步×2
在这里插入图片描述
加粗样式
这里你可以选择你需要的形式,由于这是三张新的表格,我没有对应结构的表,所以选择全部是新建表。
在这里插入图片描述
到这里你可以查看你引入的源表,调整其对应字段和样式,比如日期,整数,或者减少可占用的空间之类的。在通常情况下统计没有表头,默认设置就可以达到效果,我这个素材的话表头合并的那一行空白所以你需要前面改一下。
excel图:我们可以看到第二行有我们需要的列名,第三行才是要用到的数据,那我们就先要改一下
在这里插入图片描述
可见:我们对应改为从第二行开始提取数据,第三行作为第一行数据,为了保证仅有的数据量,我们就不限制数据范围了,实际上你可以选择某一段的数据进行导入。
在这里插入图片描述
下一步,选择追加数据。(我这里直接应用中文名了,方便后面写笔记,如果你做小组作业项目记得按规范起名!!记得按规范起名!!记得按规范起名!!!)
在这里插入图片描述
然后就会出现这个页面,选择开始即可,在数据非常冗杂的情况下极有可能出现错误这一项,你需要及时查找出现的问题,上一步上一步的进行回溯,当然如果数据量出错的比率可以忽略不计那需要根据实际情况,是进行数据修复还是作为误差。
记得按规范起名!
绿条满后刷新我们的表即可开看到我们的数据啦,是不是很方便。
在这里插入图片描述

3,分支2,自建表

顾名思义根据自己的需要进行表的创建,只是处理数据做分析或者复习的这部分没必要看啦。简单说一下表的元素和应用场景。通常,需要以下几个常见必备要素。

字段名

我们这里右击可以看到新建表
在这里插入图片描述
这时可以看到表格的基本要素
在这里插入图片描述
字段名顾名思义你需要给这一列进行分类,我们通常会使用id作为起始,附表会根据表名进行简单修改,比如我们主表是用户写的文章,附表有用户文章的评论集,那么一个主表id可以对应评论集_id,差不多就是这个意思,这个字段一般用int足够,这个字段类型不限长,你不需要对此限制长度。
在这里插入图片描述
我们这里选择了主键,顾名思义主要的字段,每个表最多存在一个主键,可以不存在,但是事实上我们很多时候都会定义一个主键,因为其不可或缺的自动递增,这个好比我现在多了一篇文章,可以直接插入,无序定义其id,会类似1234不断递增的帮我们计数并反映在表格里。

字段类型

这和编程用到的变量类型定义有点像,不过字节占位这里不啰嗦啦。这里出现的varchar是字符串类型,和int类型不一样的是他需要自定义长度。但你这里的定义长度并不会直接放缩数据库的预留空间,只会限制其存储大小,如果你定义2字节,那么3字节存入就会报错。
在这里插入图片描述
可以看到我这里新增了两个字段,用户名和密码,我选用默认配置,但是可以看到id和密码不是null被勾选上了,这代表着只要新建字段你就必须给他们赋值,项目中在你更新部分信息而未接收这一条的时候记得手动补上或者多传输一条,否则会报错。勾选主要是为了严谨性,因为就算是架子项目也得保证玩的时候不能玩脱了嘛。(毕竟上线一遍那么麻烦的说。
然后保存就行啦,表名记得正常一点哦

注释

表明大家根据自己需求和规范来就行了,我主要说一下注释问题。你切记,如果你全是百度翻译或者自己英语水平比较高的情况下,请自行判断组内人员的水平,添加中文注释,比如:这是人员id,关联了什么什么表单之类的。不过关联这个问题并不影响前面大纲里的适用人群,要是小组作业老师的数据库出现关联问题导致某条数据无法删除可以看看其他表单是否存在关联数据,删除需要一起删除。

二,增删改查

1,查询

虽然感觉这个可扩展性很强,但果然这是最适合最先说的东西了吧,以下内容我会以前文引入的excel数据为例,毕竟数据量比较多刚好存在关联性,那就用这个啦。对了先说一下,正常你书写需要调成英文输入,部分情况需要转换半角全角,我这里存在中文,所以刚好对比一下哪里不同。
首先是右键新建查询,如图:
在这里插入图片描述

1,无条件查询&单条件查询
select * from `订单明细表`
-- 全部查询,如图可以看到我们查询到了所有该表格的信息,这个"--"是查询里特有的注释,也意味着不会被运行.
-- 注意,当你点击上方运行已选择的,所有未被注释的会一起运行。

在这里插入图片描述

select * from `订单明细表` where 订单编号 = 'BTW-08009'
-- 以字段名为要求的单条查询,这里查询到了上图中的订单编号BTW-08009的书籍订单。
-- 这里就体现了id设为主键的好处了,顺便一提你导入的数据不存在主键和自动递增等设定,需要自己设置。
-- 不过对于这个例子来说无所谓。

在这里插入图片描述
这里引入一个必要的知识,主键的好处之一:不可重复性,也就是因为你采用递增,每条数据都具有独立的编号,在各项查找组合的时候一目了然,也不会出现两个第一或者两个第二的情况。
回过来,这里通过使用where作为连接词,我们只需要像写if一样写查找条件即可,项目中把所需数据回传到某方法用其数据作为参数,拼接查询语句即可。

2,条件查询:某一区间升序降序
-- 查询过程中进行排序
-- asc表示升序,desc降序(升序就是由少到多排序,虽然感觉这句话没用但还是留下了呢。。)
select * from `订单明细表` order by `销量(本)` ASC
select * from `订单明细表` order by `销量(本)` DESC
-- 后序格式,order by 字段名 参数

如图,即是:查询(select) 全部的数据(*) 在订单明细表中(from 订单明细表) 通过字段名(order by) 销量(本) 升序排序(ASC)
在这里插入图片描述
如图,降序排序:
在这里插入图片描述

3,常见聚合函数
统计函数
-- 统计函数,计数,中间是格式
select count(*) from `订单明细表`

如图所示,改变查询的内容,来调用函数
在这里插入图片描述

求和函数
-- 求和函数,中间是字段名
select sum(`销量(本)`) from `订单明细表`

如图
在这里插入图片描述

平均值函数
-- 平均值函数,里面还是字段名
select avg(`销量(本)`) from `订单明细表`

如图
在这里插入图片描述

最大值函数
-- 最大值函数,里面还还是字段名
select max(`销量(本)`) from `订单明细表`

如图
在这里插入图片描述

最小值函数
-- 最小值函数,里面还还还是字段名
select min(`销量(本)`) from `订单明细表`

如图
在这里插入图片描述

4,限定范围查询in/between/limit
in条件查询
-- 进模糊查询,后面跟的是范围,像这个,就是查询xb字段,数值为1和0的全部数据。
select * from `订单明细表` where `销量(本)` in ('9','8') order by `销量(本)` ASC

如图,可见in查询的使用方法是提供一个数据集,可以查询某项或者某几项位于数据集中的整条数据
在这里插入图片描述

between条件查询

和in不同的是,between提供的是区间,比如上文查的是8和9,那我们查一下7到9看看区别

select * from `订单明细表` where `销量(本)` between 7 and 9
-- 为了截图这里不排序了

在这里插入图片描述

limit限制范围查询

首先是limit查询的格式,limt 从0开始跳过多少条开始计算,查询多少条,也就是,如果1000起始,查5条,那也会造成1005条的查询量,需要注意。

select * from `订单明细表` where `销量(本)` limit 0,5
-- 从第一条开始查询5条(展示数据表的前五条)

在这里插入图片描述

5,模糊查询

在有时候,用户并不知道需要查询的完整字段,比如一个博客做了一个检索功能,可能会细分技术种类,平台等内容来减少数据量,方便你找到所需的内容。(比如曾经的百度开发者版本)在项目里,这一般分为两种手段,可见补齐,也就是常见的搜索引擎下拉,提示用户以前搜索的内容和自己库里有该关键字的句子;不可见补齐,不给予提示,只依靠模糊搜索,不过这种用户体验比较差,因为必须进行至少一次会话才能加强自己对想搜索内容的记忆,一般作为可见补齐的辅助。然后简单说一下常见模糊查找的内容。

闭区间
-- 闭区间。注意查询的时候,范围从小到大一般是数字(数字的话是可以不用单引号的)
select * from `订单明细表` where `销量(本)` between 7 and 9
-- 在前面我们提到过这个,也就当补充说明了,不放图啦
半开区间
-- 半开区间,"字段%”代表需要查询该列下所有该字段开头的数据,不限制长短,如图查询书店是博达开头的书店数据
select * from `订单明细表` where `书店名称` like '博达%'

在这里插入图片描述
然后在这里再说一下闭区间的一个关联查询,“字段_字段”,即我们做出一个给定的范围做查询,因为数据的问题,在这里写可以看的更清楚一点(少写一点)

select * from `订单明细表` where `订单编号` like '%800_%'
-- 其实最后的%不加也行,意思是无论前面有多少数据,只要存在任意部分符合"800"+任意一个字符+任意部分字符,就会被查询到,_即代表可任意符号的位置,两个_也就是__,这代表可以存在任意两个字符。

一般在项目里,比如在博客项目,用户输入了一个词汇:java,那么题目或者内容有写java的博文就会被检索到,比如:Java 基础语法或是Java 开发环境配置。在这里插入图片描述

多区间
-- 多个条件使用and连接,比如这里查询所有销量1和4开头的数据
select * from `订单明细表` where `销量(本)` like '1%' and '4%'

如图
在这里插入图片描述

6,联合查询(多表查询)

简而言之就是把另一个表单检索统计出来的信息作为参数应用到另一个表的查询语句里,一般使用()来嵌套,举个例子

select * from `订单明细表` where `图书编号` = (select `图书编号` from `编号对照` ORDER BY `定价` ASC limit 0,1)
-- ()里的语句查询的图书表里的最高价格的书籍编号,然后用这个编号查询订单表格里这种书的全部订单。
-- select `图书编号` from `编号对照` ORDER BY `定价` DESC limit 0,1
-- 如果语句出现问题可以先拿出来跑一遍,上文注释掉即可。

在这里插入图片描述

7,最后谈一下查询思路的问题

比如,现在想知道班级考试后,谁的总分是最高的,那么需要考虑的首先就是人数,因为可能存在并列第一这种情况,需要根据题目给予权重平衡分数,但这里是初级笔记,我们就考虑怎么查出来这个人或者这些人即可,来句伪代码。

select 姓名 from 班级分数表 where 总分 = (select 总分 from 班级分数表 order by 总分 DESC limit 0,1)
-- 意思是查询所有分数是班级最高的人,()里查到了班级的最高分,那么等于最高分的同学便都是班级第一

附录

补上的后续地址,附带后续的操作和资料练习

http://t.csdn.cn/Qsp6F
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值