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

文章目录

  • 一、SQL通用语法
  • 二、SQL分类
  • 三、DDL语句
  • 四、DML语句
    • 1.案例代码
    • 2.读出结果
  • 五、DQL语句
    • 1.DQL-基本查询
    • 2.DQL-条件查询
    • 3.DQL-聚合函数
    • 4.DQL-分组查询
    • 5.DQL-排序查询
    • 6.DQL-分页查询
    • 7.DQL语句-执行顺序
    • 1.案例代码
    • 2.读出结果
  • 六、DCL语句
    • 1.DCL-管理用户
    • 2.DCL-权限控制
    • 1.案例代码

在当今数据库驱动的世界里,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-分页查询

在这里插入图片描述

7.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条记录

在这里插入图片描述

六、DCL语句

在这里插入图片描述

1.DCL-管理用户

在这里插入图片描述

2.DCL-权限控制

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

1.案例代码

代码如下(示例):

-- 创建用户 itcast ,只能够在当前主机localhost访问,密码123456;create user 'itcast'@'localhost' identified by '123456';-- 创建用户 heima ,可以在任意主机访问数据库,密码123456;create user 'heima'@'%' identified by '123456';-- 修改用户 heima 密码,为 1234 ;alter user 'heima'@'%' identified with mysql_native_password by '1234';-- 删除用户 'itcast'@'localhost'用户drop user 'itcast'@'localhost';-- 查询权限show grants for 'heima'@'%';-- 授予权限grant all on itcast.* to 'heima'@'%';-- 撤销权限revoke all on itcast.*from 'heima'@'%';

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Kubernetes实战(二十三)-k8s event监控利器kube-eventer对接企微告警

1 背景 监控是保障系统稳定性的重要组成部分&#xff0c;在Kubernetes开源生态中&#xff0c;资源类的监控工具与组件监控比较多。 cAdvisor&#xff1a;kubelet内置的cAdvisor&#xff0c;监控容器资源&#xff0c;如容器cpu、内存&#xff1b;Kube-state-metrics&#xff1…

Maya------创建多边形工具

配合导入图像使用 Tab键可以删除一个点&#xff01; 模型不能超过4边面&#xff01;多切割工具进行连接&#xff01; 15.maya常用命令5.创建多边形工具 反转 双显 挤出_哔哩哔哩_bilibili

kubecolor让kubelet更好看

kubecolor让kubelet更好看 默认情况下kubectl输出都是白色,在列特别多的情况下比较难分清楚具体是哪个对应哪个. 发现kubecolor可以完美解决这样的问题. 1. 安装kubecolor mkdir kubecolor cd kubecolor wget https://github.com/kubecolor/kubecolor/releases/download/v0.…

vue2+html2pdf下载PDF,PDF分页切割

问题&#xff1a; PDF下载下来后&#xff0c;文档内容被暴力分割。 解决方案&#xff1a; HTML <!-- 打印按钮 --> <el-button type"primary" size"small" class"el-icon-download right_btn" click"downloadPDF">PDF&…

three.js CSS3DRenderer、CSS3DObject渲染HTML标签

有空的老铁关注一下我的抖音&#xff1a; 效果&#xff1a; <template><div><el-container><el-main><div class"box-card-left"><div id"threejs" style"border: 1px solid red;position: relative;"><…

CSS3的新盒子,选择器等

新增的选择器&#xff1a; 属性选择器&#xff1a; 结构伪类选择选器&#xff1a; nth较为重要&#xff1a;但公式中的字母必须是n 区别&#xff1a; nth-child&#xff1a; 认为父类下的都是儿子&#xff0c;此时就需要有对应的需要&#xff0c;如下&#xff0c;此时即使排1&…

【Bugs】Jmeter报错:NoSuchMethodError: org.apache.jmeter.samplers.

报错情况 Jmeter版本&#xff1a;5.4.3 报错场景&#xff1a;在线程组中添加了jpgc - PerfMon Metrics Collector性能监控组件后出现报错。 Jmeter中无法运行测试&#xff0c;cmd命令行中出现以下报错。 cmd报错详细内容&#xff1a; Uncaught Exception java.lang.NoSuchMe…

废品上门回收小程序搭建全过程

随着人们对环境保护意识的不断增强&#xff0c;废品回收成为了一项重要的社会活动。为了方便废品回收的顾客和回收者之间的联系&#xff0c;废品上门回收小程序成为了一种流行的解决方案。然而&#xff0c;如何选择一款合适的废品上门回收小程序搭建平台呢&#xff1f;下面将为…

数据表的增删改查(上)

这一章的主角是数据表&#xff0c;但因为上篇文章还有一些数据库的知识没解决&#xff0c;因此先写了数据库。 选择数据库 在数据库创建后&#xff0c;不会将当前创建的数据库作为后续操作的默认数据库&#xff0c;如果需要在数据库中创建数据表并插入数据&#xff0c;需要先…

leetcode189.轮转数组|超简单易于理解方法

题目 https://leetcode.cn/problems/rotate-array/description/https://leetcode.cn/problems/rotate-array/description/ 给定一个整数数组 nums&#xff0c;将数组中的元素向右轮转 k 个位置&#xff0c;其中 k 是非负数。 示例 1: 输入: nums [1,2,3,4,5,6,7], k 3 输…

springboot完成一个线上图片存放地址+实现前后端上传图片+回显

1.路径 注意路径 2.代码&#xff1a;&#xff08;那个imagePath没什么用&#xff0c;懒的删了&#xff09;&#xff0c;注意你的本地文件夹要有图片&#xff0c;才可以在线上地址中打开查看 package com.xxx.common.config;import org.springframework.beans.factory.annotat…

深信服技术认证“SCCA-C”划重点:深信服云计算关键技术

为帮助大家更加系统化地学习云计算知识&#xff0c;高效通过云计算工程师认证&#xff0c;深信服特推出“SCCA-C认证备考秘笈”&#xff0c;共十期内容。“考试重点”内容框架&#xff0c;帮助大家快速get重点知识。 划重点来啦 *点击图片放大展示 深信服云计算认证&#xff08…

mermaid使用指南+notion使用实例-持续更新中

最近一个月了吧&#xff0c;发现Notion插入图片的功能坏了&#xff0c;直接paste会404&#xff0c;本地上传也不行。电脑本地版和手机端都插不了图片&#xff0c;很头疼。解决方法也简单&#xff0c;用图床&#xff0c;放链接。 付费版我用的七牛&#xff0c;结合PicGo&#x…

Linux 路由配置与使用

概念 路由信息用于指导数据包从源地址查找到目的地址传输路径的信息&#xff1b; 路由分类 根据路由信息的来源分为静态路由和动态路由 静态路由 由管理员手动配置的路由表项信息&#xff0c;根据路由形式的不同&#xff0c;静态路由又可细分为&#xff1a; 直连路由&#xf…

LEETCODE 170. 交易逆序对的总数

class Solution { public:int reversePairs(vector<int>& record) {if(record.size()<1)return 0;//归并 递归int left,right;left0;rightrecord.size()-1;int nummergeSort(left,right,record);return num;}int mergeSort(int left,int right, vector<int>…

【Qt】Json在Qt中的使用

Json JSON&#xff08;JavaScript Object Notation&#xff09;是一种轻量级的数据交换格式&#xff0c;广泛用于互联网应用程序之间的数据传输。JSON基于JavaScript中的对象语法&#xff0c;但它是独立于语言的&#xff0c;因此在许多编程语言中都有对JSON的解析和生成支持。…

STM32CubeIDE 使用标准库来编写程序

这些天我想找一个软件来实现软件的替代。就找到了st 的生态。可是现在st 生态都在极力的推荐HAL 库,但是习惯了标准库的朋友们,还不是很习惯。 先上总结一下,为了好记忆: 一、 在编译栏做如下设置 1、头文件设置 2、源文件设置 二、指定具体的预定义宏 1、USE_STDPERIPH_D…

数据结构-图的最小生成树

最小生成树介绍 最小生成树(Minimum Cost Spanning Tree)是代价最小的连通网的生成树&#xff0c;即该生成树上的边的权值和最小 最小生成树的性质&#xff1a; 必须使用且仅使用连通网中的n-1条边来联结网络中的n个顶点&#xff1b; 不能使用产生回路的边&#xff1b; 各…

Linux部署幻兽帕鲁服务器,PalWorld开服联机教程,保姆级教程

------另一个号申请积分-------- Linux系统搭建PalWorld私服&#xff0c;幻兽帕鲁开服联机教程&#xff0c;保姆级教程 最近这游戏挺火&#xff0c;很多人想跟朋友联机&#xff0c;如果有专用服务器&#xff0c;就不需要房主一直开着电脑&#xff0c;稳定性也好得多。 幻兽帕…

Kubernetes operator(五)api 和 apimachinery 篇

云原生学习路线导航页&#xff08;持续更新中&#xff09; 本文是 Kubernetes operator学习 系列第五篇&#xff0c;主要对 k8s.io/api 和 k8s.io/apimachinery 两个项目 进行学习基于 kubernetes v1.24.0 代码分析Kubernetes operator学习系列 快捷链接 Kubernetes operator&a…