mysql基础知识扫盲

发布时间 - 2026-01-11 00:06:58    点击率:

本篇主要介绍关于mysql的一些非常基础的知识,为后面的sql优化做准备。

一:连接mysql

关于mysql的下载和安装我在这里就不说了,第一步我们要连接我们的mysql服务器,打开cmd命令切换到你安装MySQL Server 的bin目录下,然后输入mysql -h localhost -u root -p

其中-h 表示你的主机地址(本机就是localhost,记住不要带端口号) -u 就是连接数据库名称 -p就是连接密码。出现以下图就表示连接成功了

二:常用的sql语句

2.1:创建数据库 create database 数据库名

2.2:删除数据库 drop database 数据库名

2.3:查询系统中的数据库 show databases

2.4:使用数据库 use 数据库名

2.5:查询数据库的表 show tables

2.6:查询表结构 desc +表名

2.7:查询创建表的sql语句 show create table +表名

2.8:删除表 drop +表名

2.9:一次删除多条表记录:delete t1,t2 from t1,t2[where 条件] 如果from后面用别名那么delete后面也需要用别名

3.0:一次性更新多次表update t1,t2 ...tn set t1.field=expr1,tn.exprn=exprn;

三:查询

3.1:select普通查询

在这里我创建了一个数据放了2个表,看下图

3.2:查询不重复记录

用关键字distinct如下图

3.3:排序和限制

用关键字order by进行排序desc降序asc升序,limit关键字进行限制输出

order by后面跟字段(order by只写一次即可先排第一个字段然后第二个以此类推,limit 后面第一个数是索性,第二个是输出的个数)。

四:聚合操作

很多情况下,用户都需要进行一些统计,比如统计整个公司的人数或者部门的人数,这时就会用到聚合操作。聚合操作语法入戏下

select 【field1,field2...fieldn】fun_name from 表名

where 条件

group by field1,field2...fieldn

with rollup

having 条件

fun_name叫做聚合函数或者聚合操作,常见的有sum(求和)、 count(*)记录数、 max(最大值)、min(最小值)。

group by 表示要分类聚合的字段,比如按照部门分类统计的员工数量,部门就应该写在group by后面

with rollup 是可选语法,表示是否对分类聚合后的结合在进行汇总

having 表示对分类后的结果在次进行筛选

4.1:按照课程号进行统计班级的人数

4.2:按年级统计人数,并统计总人数

rollup就是进行人数汇总的,从图中我们可以看出。

4.3:统计年龄不小于20的人数

having和where的区别:having是对聚合后的结果进行筛选,而where是在聚合钱就对记录进行筛选,如果逻辑允许,尽可能使用where先过滤记录,这样将减少结果集,对聚合的效率大大的提高,然后在根据having进行过滤。

五:表连接

如果需要同时显示多个表中的字段的时候,就可以使用表连接来实现这样的功能。从大类上可以分为内连接和外连接,他们的主要区别是:内连接仅仅筛选出2个表互相匹配的记录,而外连接会筛选出其他不匹配的记录,我们经常使用的是内连接。

5.1:查询学生所选择的课程

外连接又分为左连接和右连接。

左连接(包含所有左边表中的记录甚至右边表中没有和它匹配的记录)

右连接(包含所有右边表中的记录甚至左边表中没有和它匹配的记录)

从中可以看出左连接是以左边的表为主,右连接是以右边的表为主。

六:子查询

某些情况下,当进行查询的时候,需要的条件是另外一个select语句的结果,这个时候就用到了子查询,用于子查询的关键字主要包括in、not in、=、!=、exist、not exist等

如使用in进行查询

但是使用内连接同样能达到以上的效果

但是内连接的效率在很多情况下都是高于子查询的,所以如果不影响业务逻辑的前提下优先考虑内联。

七:联合

将2个表的数据按照一定规则下查询出来,将结果合并一起显示出来。这个时候我们就可以使用union或者union all。具体语法如下

select * from t1 union\union all select * from t2 union\union all select * from tn;

union和union all的区别在于union是在筛选的结果集去除重复的记录。

切记不可以2个表不匹配就进行联合,如下

如果我们每个表都查询2个字段

八:常见的函数

8.1:concat

cancat函数:把传入的参数连成一个字符串,任何字符串和null进行拼接的结果都是null,如下图

8.2:insert(str,x,y,instr)函数,将字符串str从第X个位置开始,y个字符长的字符串替换成instr下面把字符串hellomysql2016的第5个字符后面的4个字符替换成you

8.3:Lower(Str)和Upper(Str)把字符串转换成小写或者大写。

8.4:left(str,x)和right(str,x)分别返回字符串最左边的x个字符和最右边的x个字符,如果第二个参数为null,不返回任何字符

8.5:ltrim(str)和rtrim(str)去掉字符串左边或者右边的字符

8.6:repeat(str,x):返回str重复x次的结果

8.7:replace(str,a,b)用字符串b替换字符串str中所有出现字符串a。

8.8:trim(str)去掉开头和结尾的空格

8.9:substring(str,x,y):返回从字符串str中的第x个位置起y个字符串长度的字符串。

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!


# mysql  # 基础知识  # mysql学习笔记之基础知识  # MySQL的日志基础知识及基本操作学习教程  # Mysql基础知识点汇总  # Mysqli基础知识  # 关于mysql基础知识的介绍  # 深入mysql基础知识的详解  # 第二个  # 都是  # 是在  # 情况下  # 这个时候  # 可以看出  # 如下图  # 就可以  # 的是  # 不匹配  # 替换成  # 升序  # 他们的  # 就会  # 第一个  # 多个  # 在这  # 就不  # 说了  # 不可以 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Gemini怎么用新功能实时问答_Gemini实时问答使用【步骤】  javascript和jQuery中的AJAX技术详解【包含AJAX各种跨域技术】  网站制作免费,什么网站能看正片电影?  网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?  长沙企业网站制作哪家好,长沙水业集团官方网站?  如何确保FTP站点访问权限与数据传输安全?  Java类加载基本过程详细介绍  Laravel如何处理文件下载请求?(Response示例)  制作ppt免费网站有哪些,有哪些比较好的ppt模板下载网站?  Angular 表单中正确绑定输入值以确保提交与验证正常工作  如何在 React 中条件性地遍历数组并渲染元素  详解jQuery停止动画——stop()方法的使用  Laravel如何实现全文搜索_Laravel Scout集成Algolia或Meilisearch教程  实例解析angularjs的filter过滤器  Laravel如何创建自定义Artisan命令?(代码示例)  动图在线制作网站有哪些,滑动动图图集怎么做?  如何在万网利用已有域名快速建站?  矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?  Laravel如何处理和验证JSON类型的数据库字段  黑客如何通过漏洞一步步攻陷网站服务器?  Laravel如何与Vue.js集成_Laravel + Vue前后端分离项目搭建指南  如何快速搭建高效简练网站?  mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?  html文件怎么打开证书错误_https协议的html打开提示不安全【指南】  Laravel怎么实现验证码(Captcha)功能  Laravel怎么实现模型属性的自动加密  家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?  Laravel怎么使用Blade模板引擎_Laravel模板继承与Component组件复用【手册】  高端智能建站公司优选:品牌定制与SEO优化一站式服务  Laravel如何使用Collections进行数据处理?(实用方法示例)  百度输入法ai面板怎么关 百度输入法ai面板隐藏技巧  如何用y主机助手快速搭建网站?  如何为不同团队 ID 动态生成多个非值班状态按钮  胶州企业网站制作公司,青岛石头网络科技有限公司怎么样?  nodejs redis 发布订阅机制封装实现方法及实例代码  如何用花生壳三步快速搭建专属网站?  Laravel定时任务怎么设置_Laravel Crontab调度器配置  java获取注册ip实例  VIVO手机上del键无效OnKeyListener不响应的原因及解决方法  怎么制作一个起泡网,水泡粪全漏粪育肥舍冬季氨气超过25ppm,可以有哪些措施降低舍内氨气水平?  Laravel如何理解并使用服务容器(Service Container)_Laravel依赖注入与容器绑定说明  做企业网站制作流程,企业网站制作基本流程有哪些?  zabbix利用python脚本发送报警邮件的方法  专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?  JS中页面与页面之间超链接跳转中文乱码问题的解决办法  在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?  Laravel怎么实现软删除SoftDeletes_Laravel模型回收站功能与数据恢复【步骤】  宙斯浏览器怎么屏蔽图片浏览 节省手机流量使用设置方法  米侠浏览器网页背景异常怎么办 米侠显示修复  购物网站制作费用多少,开办网上购物网站,需要办理哪些手续?