MySQL数据库基础第一篇(SQL通用语法与分类)

文章目录

  • 一、SQL通用语法
  • 二、SQL分类
  • 三、DDL语句
  • 四、DML语句
    • 1.案例代码
    • 2.读出结果
  • 五、DQL语句
    • 1.DQL-基本查询
    • 2.DQL-条件查询
    • 3.DQL-聚合函数
    • 4.DQL-分组查询
    • 5.DQL-排序查询
    • 6.DQL-分页查询
    • 1.案例代码
    • 2.读出结果

在当今数据库驱动的世界里,SQL(结构化查询语言)作为一门管理数据的语言,对开发者而言极为关键。不论你是在做后端开发、数据科学,或者是设计和维护数据库,一个深入的SQL基础知识对你都大有裨益。
在这篇博客中,我将为你提供一个全套的SQL教程,涵盖了从最基础的SQL通用语法,到更复杂的DDL(数据定义语言),DML(数据操作语言)以及DQL(数据查询语言)等。每一部分都包含了相应的图解以及示例代码,以便于你更好地理解和掌握SQL语句的使用。
不论你是初学者还是有一些SQL使用经验的开发者,我希望这篇博客都能对你有所帮助。让我们一起深入到SQL的世界里,掌握这门强大的数据管理语言。

一、SQL通用语法

在这里插入图片描述

二、SQL分类

在这里插入图片描述

三、DDL语句

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

四、DML语句


在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.案例代码

代码如下(示例):

INSERT 表_name VALUES (1,'小明',19,92,85,95),
                     (2,'小红',18,82,75,95),
                     (3,'小王',21,66,88,55),
                     (4,'小聪',20,92,84,95),
                     (5,'小东',20,98,95,65);
UPDATE  表_name SET name = '张三',age = 25 where ID=1;
UPDATE  表_name SET name = '王五',age = 35 where ID=3;
UPDATE  表_name SET name = '李四',age = 28 where ID=5;

2.读出结果

在这里插入图片描述

五、DQL语句

在这里插入图片描述
在这里插入图片描述

1.DQL-基本查询

在这里插入图片描述

2.DQL-条件查询

在这里插入图片描述

3.DQL-聚合函数

在这里插入图片描述
注意:null值不参与所有聚合函数运算。

4.DQL-分组查询

在这里插入图片描述

5.DQL-排序查询

在这里插入图片描述

6.DQL-分页查询

在这里插入图片描述

1.案例代码

代码如下(示例):

create table emp
(
    id          int comment '编号',
    workno      varchar(10) comment '工号',
    name        varchar(10) comment '姓名',
    gender      char(1) comment '性别',
    age         tinyint unsigned comment '年龄',
    idcard      char(18) comment '身份证号',
    workaddress varchar(50) comment '工作地址',
    entrydate   date comment '入职时间'
) comment '员工表';

insert into emp(id, workno, name, gender, age, idcard, workaddress, entrydate)
VALUES (1, '1', '柳岩', '女', 20, '123456789012345678', '北京', '2000-01-01'),
       (2, '2', '张无忌', '男', 18, '123456789012345670', '北京', '2005-09-01'),
       (3, '3', '韦一笑', '女', 38, '123456789012345670', '上海', '2005-08-01'),
       (4, '4', '赵敏', '女', 18, '123456789012345670', '北京', '2009-12-01'),
       (5, '5', '小昭', '女', 16, '123456789012345678', '上海', '2007-07-01'),
       (6, '6', '杨逍', '男', 28, '12345678901234567X', '北京', '2006-01-01'),
       (7, '7', '范瑶', '男', 40, '123456789012345670', '北京', '2005-05-01'),
       (8, '8', '黛绮丝', '女', 38, '123456789012345670', '天津', '2015-05-01'),
       (9, '9', '范凉凉', '女', 45, '123456789012345678', '北京', '2010-04-01'),
       (10, '10', '陈友谅', '男', 53, '123456789012345670', '上海', '2011-01-01'),
       (11, '11', '张士诚', '男', 55, '123456789012345670', '江苏', '2015-05-01'),
       (12, '12', '常遇春', '男', 32, '123456789012345670', '北京', '2004-02-01'),
       (13, '13', '张三丰', '男', 88, '123456789012345678', '江苏', '2020-11-01'),
       (14, '14', '灭绝', '女', 65, '123456789012345670', '西安', '2019-05-01'),
       (15, '15', '胡青牛', '男', 70, '12345678901234567X', '西安', '2018-04-01'),
       (16, '16', '周芷若', '女', 18, null, '北京', '2012-06-01');
- ------------------------------------ -> 查询需求 <- ----------------------------------------------


-- 基本查询

-- 1,查询指定字段 name ,woekno , age 返回

select name,workno,age from emp;

-- 2,查询指定所有字段 返回

select id, workno, name, gender, age, idcard, workaddress, entrydate from  emp;

select * from emp;

-- 查询所有员工的工作地址,起别名

select workaddress as '工作地址' from emp;

-- 查询所有员工的工作地址(不要重复)

select distinct workaddress as '工作地址' from emp;

-- 条件查询

-- 1,查询年龄等于 88 的员工

select * from emp where age = 88;

-- 2,查询没有身份证的员工信息

select * from emp where idcard is null;

-- 3,查询年龄在 1520 岁之间的员工

select * from emp where age >=15 && age <=20 ;

-- 4,查询性别为女年龄小于 25 岁的员工

select * from emp where gender = '女' && age < 25;

-- 5,查询年龄等于204018岁的员工

select * from emp where age iN(18,20,40);

-- 6,查询性别为两个字员工

select * from emp where name like '__';

-- 7.查询身份证号码最后一位为X的员工信息

select * from emp where idcard like '%X';

-- 聚合函数

-- 1,统计该企业员工数量

select count(*) from emp;
select count(idcard) from emp;

-- 2,统计该企业员工的平均年龄

select avg(age) from emp;

-- 3,统计该企业西安地区员工的年龄之和

select sum(age) from emp where workaddress = '西安';

-- 分组查询

-- 1,根据性别分组,统计男员工与女员工的数据

select gender, count(*) from emp group by gender;

-- 2,根据性别分组,统计男员工与女员工的平均成绩

select gender, avg(age) from emp group by gender;

-- 3,调查年龄小于45的员工,并根据工作地址分组,获取员工数量大于等于3的工作地址

select workaddress, count(*) from emp where age<=45 group by  workaddress;

-- 排序查询

-- 1,根据性别分组,统计男员工与女员工的数据

 select  * from  emp order by  age asc ;

-- 2,根据入职时间对公司的员工,进行降序排序

 select  * from  emp order by  entrydate desc ;

-- 3,根据年龄对公司的员工进行升序排序,如果年龄相同,再根据入职时间进行降序排序

 select  * from  emp order by  age asc , entrydate desc ;

-- 分页查询

-- 1,查询第一页的员工数据,每页展示10条记录

select  *  from  emp limit 0,10;

-- 2,查询第二页的员工数据,每页展示10条记录

select  *  from  emp limit 10,10;

2.读出结果

– 1,查询指定字段 name ,woekno , age 返回
在这里插入图片描述
– 2,查询指定所有字段 返回
在这里插入图片描述
– 查询所有员工的工作地址,起别名
在这里插入图片描述
– 查询所有员工的工作地址(不要重复)
在这里插入图片描述
– 1,查询年龄等于 88 的员工
在这里插入图片描述
– 2,查询没有身份证的员工信息
在这里插入图片描述
– 3,查询年龄在 15 到 20 岁之间的员工
在这里插入图片描述
– 4,查询性别为女年龄小于 25 岁的员工
在这里插入图片描述
– 4,查询年龄等于20或40或18岁的员工
在这里插入图片描述
– 6,查询性别为两个字员工
在这里插入图片描述
– 7.查询身份证号码最后一位为X的员工信息

在这里插入图片描述
– 聚合函数

– 1,统计该企业员工数量

在这里插入图片描述
– 2,统计该企业员工的平均年龄
在这里插入图片描述
– 3,统计该企业西安地区员工的年龄之和

在这里插入图片描述
– 分组查询

– 1,根据性别分组,统计男员工与女员工的数据

在这里插入图片描述
– 2,根据性别分组,统计男员工与女员工的平均成绩

在这里插入图片描述
– 3,调查年龄小于45的员工,并根据工作地址分组,获取员工数量大于等于3的工作地址

在这里插入图片描述
– 分组查询

– 1,根据年龄对公司的员工进行升序排序

在这里插入图片描述
– 2,根据入职时间对公司的员工,进行降序排序

在这里插入图片描述
– 3,根据年龄对公司的员工进行升序排序,如果年龄相同,再根据入职时间进行降序排序

在这里插入图片描述
– 分页查询

– 1,查询第一页的员工数据,每页展示10条记录

在这里插入图片描述

– 2,查询第二页的员工数据,每页展示10条记录

在这里插入图片描述


---

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

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

相关文章

Spring Boot 中操作 Bean 的生命周期

1.InitializingBean和DisposableBean InitializingBean接口提供了afterPropertiesSet方法&#xff0c;用于在bean的属性设置好之后调用&#xff1b; DisposableBean接口提供了destroy方法&#xff0c;用于在bean销毁之后调用&#xff1b; public class TestComponent implem…

2024.1.31日总结

服创大赛的有一个选题是【A16】新苗同学 - 大学新生智能迎新平台&#xff0c;这个对前端的要求挺高的&#xff0c;需要设计游戏化页面&#xff0c;刚刚搜索了一下&#xff0c;感觉难度很大&#xff0c;又要有创意&#xff0c;而且动画效果也要不错&#xff0c;整体页面才会美观…

Nous Hermes 2:超越Mixtral 8x7B的MOE模型新高度

引言 随着人工智能技术的迅猛发展&#xff0c;开源大模型在近几年成为了AI领域的热点。最近&#xff0c;Nous Research公司发布了其基于Mixtral 8x7B开发的新型大模型——Nous Hermes 2&#xff0c;这一模型在多项基准测试中超越了Mixtral 8x7B Instruct&#xff0c;标志着MOE…

docker-学习-2

docker学习第二天 docker学习第二天1.docker和虚拟机的区别2.docker的底层隔离机制2.1 Namespaces(命名空间)2.1.1 什么是命名空间 2.2 Cgroups2.3 Union file systems2.4 Container format2.5 docker在底层如何做隔离的&#xff0c;如何进行资源限制的&#xff1f; 3. docker命…

【数据分享】1929-2023年全球站点的逐日最高气温数据(Shp\Excel\免费获取)

气象数据是在各项研究中都经常使用的数据&#xff0c;气象指标包括气温、风速、降水、湿度等指标&#xff0c;其中又以气温指标最为常用&#xff01;说到气温数据&#xff0c;最详细的气温数据是具体到气象监测站点的气温数据&#xff01; 之前我们分享过1929-2023年全球气象站…

rabbitmq基础-java-2、work模型

1、简介 工作队列模式&#xff08;Work Queue Mode&#xff09;&#xff1a;在这个模型中&#xff0c;生产者同样将消息发送到队列&#xff0c;但多个消费者可以从队列中获取消息并发处理。这意味着不同的消费者可以独立地处理各自的任务&#xff0c;从而提高效率。 2、消息发送…

大华智能物联综合管理平台 任意文件读取漏洞复现(QVD-2023-45063)

0x01 产品简介 大华ICC智能物联综合管理平台对技术组件进行模块化和松耦合&#xff0c;将解决方案分层分级&#xff0c;提高面向智慧物联的数据接入与生态合作能力。 0x02 漏洞概述 大华ICC智能物联综合管理平台 readpic接口处存在任意文件读取漏洞&#xff0c;未经身份验证…

JSON巨匠:FastJSON的序列化解析

Fastjson 简介 Fastjson 是一个 Java 库&#xff0c;可以将 Java 对象转换为 JSON 格式&#xff0c;当然它也可以将 JSON 字符串转换为 Java 对象。 Fastjson 可以操作任何 Java 对象&#xff0c;即使是一些预先存在的没有源码的对象。 Fastjson 源码地址&#xff1a;https://…

Advanced CNN

文章目录 回顾Google NetInception1*1卷积Inception模块的实现网络构建完整代码 ResNet残差模块 Resedual Block残差网络的简单应用残差实现的代码 练习 回顾 这是一个简单的线性的卷积神经网络 然而有很多更为复杂的卷积神经网络。 Google Net Google Net 也叫Inception V…

轻量式RPC调用日志链路设计方案

导语: 调用链跟踪系统,又称为tracing&#xff0c;是微服务设计架构中&#xff0c;从系统层面对整体的monitoring和profiling的一种技术手 背景说明 由于我们的项目是微服务方向&#xff0c;中后台服务调用链路过深&#xff0c;追踪路径过长&#xff0c;其中某个服务报错或者异…

探索设计模式的魅力:精准解读桥接模式-用桥接模式构建可扩展的软件系统

设计模式专栏&#xff1a;http://t.csdnimg.cn/nolNS 目录 一、了解桥接模式&#xff1a;探索抽象和实现的分离 1.1 开-闭原则 1.2 组合/聚合复用原则 1.3 定义 1.4 用意 1.5 基本思想 1.6 组成部分 1.7 桥梁模式的示意性系统的结构图 二、桥接模式的优势&#xff1a…

torchvision.models._utils.IntermediateLayerGetter()使用

torchvision.models._utils.IntermediateLayerGetter&#xff08;&#xff09;使用 源码如下&#xff1a; from collections import OrderedDictimport torch from torch import nnclass IntermediateLayerGetter(nn.ModuleDict):"""Module wrapper that ret…

【Tomcat与网络6】 Tomcat是如何扩展Java线程池的?

目录 1.Java 的线程池 2.Tomcat 的线程池 学习Tomcat的时候&#xff0c;有很多绚丽的技术值得我们学习&#xff0c;但是个人认为Tomcat的线程池扩展是最值得研究的一个部分&#xff0c;线程池的应用太广了&#xff0c;也重要了&#xff0c;Java原生线程池的特征我相信很多人都…

matlab中的图窗属性和坐标轴的属性

图窗的Position和Outerposition Position 指定窗口的尺寸和窗口在屏幕中的位置。 Outerposition 指定窗口外轮廓的大小和位置。 两者都是用一个4维向量来定义&#xff0c;格式为[左 底 宽 高]。 可通过set函数修改Position和Outerposition&#xff0c;如下&#xff1a;在屏幕左…

adb 无线连接 操作Android设备

最近集五福活动比较热门 可以用这个工具 用自己擅长的语言写一个循环程序 运行起来就可以 自动帮我们 看视频得福卡了 很方便 while (true) {sleep(mt_rand(15, 25));system(adb shell input swipe 500 2000 500 1000 100); } 1. 首先下载 安卓开发工具 adb adb网盘链接 链接…

鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之Gauge组件

鸿蒙&#xff08;HarmonyOS&#xff09;项目方舟框架&#xff08;ArkUI&#xff09;之Gauge组件 一、操作环境 操作系统: Windows 10 专业版、IDE:DevEco Studio 3.1、SDK:HarmonyOS 3.1 二、Gauge组件 数据量规图表组件&#xff0c;用于将数据展示为环形图表。 子组件 无…

解决H5中IOS手机底部被弹出键盘遮挡问题

在开发移动端的H5应用时&#xff0c;我们经常会遇到一个问题&#xff0c;就是在iOS手机上&#xff0c;当输入框获取焦点并弹出键盘时&#xff0c;键盘会遮挡住页面底部的内容&#xff0c;给用户带来不便。本文将介绍一种很巧妙的解决方案&#xff0c;通过滚动页面的方式&#x…

AI智能分析+明厨亮灶智慧管理平台助力“舌尖上的安全”

春节是中国最重要的传统节日之一&#xff0c;在春节期间&#xff0c;人们聚餐需求激增&#xff0c;餐饮业也迎来了高峰期。在这个时期&#xff0c;餐饮企业需要更加注重食品安全和卫生质量&#xff0c;以保证消费者的健康和权益&#xff0c;明厨亮灶智慧管理成为了餐饮业中备受…

【spring】springcloud中的组件有那些?

&#x1f34e;个人博客&#xff1a;个人主页 &#x1f3c6;个人专栏&#xff1a;spring ⛳️ 功不唐捐&#xff0c;玉汝于成 目录 正文 我的其他博客 正文 说出主要的组件&#xff1a; Spring Cloud Eureka,服务注册中心,特性有失效剔除、服务保护Spring Cloud Zuul,API服…

【python】使用GtkPaned的程序

一、GTK小部件&#xff08;widgets&#xff09; GTK&#xff08;GIMP Toolkit&#xff09;是一种广泛使用的图形用户界面工具包&#xff0c;用于创建跨平台的GUI应用程序。它提供了许多构建用户界面的控件&#xff0c;称为"小部件"&#xff08;widgets&#xff09;。…