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

news2024/12/27 10:47:22

文章目录

  • 一、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.coloradmin.cn/o/1424547.html

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

相关文章

C++ 数论相关题目:容斥原理。能被整除的数

给定一个整数 n 和 m 个不同的质数 p1,p2,…,pm 。 请你求出 1∼n 中能被 p1,p2,…,pm 中的至少一个数整除的整数有多少个。 输入格式 第一行包含整数 n 和 m 。 第二行包含 m 个质数。 输出格式 输出一个整数&#xff0c;表示满足条件的整数的个数。 数据范围 1≤m≤16 ,…

中移(苏州)软件技术有限公司面试问题与解答(5)—— Linux进程调度参数调优是如何通过代码实际完成的1

接前一篇文章&#xff1a;中移&#xff08;苏州&#xff09;软件技术有限公司面试问题与解答&#xff08;0&#xff09;—— 面试感悟与问题记录 本文对于中移&#xff08;苏州&#xff09;软件技术有限公司面试问题中的“&#xff08;11&#xff09;Linux进程调度参数调优是如…

python-自动化篇-办公-文件-加解密

解说 要使⽤Python进⾏⽂件的加密和解密&#xff0c;可以使⽤第三⽅加密库&#xff0c;如cryptography或pycryptodome。 ⼀个基本的⽰例&#xff0c;演⽰如何使⽤cryptography库对⽂件进⾏加密和解密&#xff1a; 安装cryptography库&#xff1a; pip install cryptography⽂…

docker中三种常用的持久化数据的方式

文章目录 介绍1.docker run -v2.volumes3.bind mounts 介绍 “前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站。” 在Docker中&#xff0c;有以下三种常用的持久化数据的方式&#xff0c;可…

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

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

代码随想录刷题第21天

第一题是二叉搜索树的最小绝对差&#xff0c;初始思路是中序遍历将二叉搜索树转换为有序数组&#xff0c;在有序数组中进行遍历。一遍过了。&#xff08;手机打代码真的麻烦&#xff09;看卡哥讲解会了双指针法遍历。 第二题是二叉搜索树中的众数&#xff0c;还是只想到了中序…

基于spring boot实现邮箱发送和邮箱验证

目录 一、邮箱发送实现1. 开通邮箱服务2. 添加邮箱依赖3.添加配置4.添加邮箱通用类5. 测试类 二、邮箱验证实现1.添加依赖2. 添加配置3.添加controller4. 测试 项目地址: https://gitee.com/nssnail/springboot-email 一、邮箱发送实现 1. 开通邮箱服务 使用qq邮箱、163邮箱都…

1月无代码资讯 | 两项低代码无代码行业报告相继重磅发布;GitHub Copilot Chat全面开放使用

栏目导读&#xff1a;无代码资讯栏目从全球视角出发&#xff0c;带您了解无代码相关最新资讯。 TOP3 大事件 1、ResearchAndMarkets.com "低代码无代码开发平台市场—— 2018-2028 年全球行业规模、份额、趋势、机遇及预测"报告发布 据雅虎财经近日资讯显示&#xf…

推荐一个可以采集众多国内外电商网站数据的API接口【附请求代码】

目前专门针对各大电商平台的数据分析工具很多&#xff0c;也支持数据导出。如针对亚马逊的helium10和junglescout等。 但这些工具对于需要随时跨平台采集数据是无能为力的。 这时&#xff0c;你需要一个万能的采集工具&#xff08;也就是通用的爬虫工具&#xff09;。 本文推…

whistle 抓包工具使用

安装配置whistle&#xff0c;本机环境是win10 1、whistle 安装&#xff0c;首先电脑上需要安装node.js&#xff0c;然后就可以使用npm命令安装whistle&#xff1a; npm install -g whistle 2、安装完后就可以使用whistle命令了: 启动&#xff1a;w2 start 重启&#…

分布式搜索引擎_学习笔记_2

分布式搜索引擎_学习笔记_2 在昨天的学习中&#xff0c;我们已经导入了大量数据到elasticsearch中&#xff0c;实现了elasticsearch的数据存储功能。但elasticsearch最擅长的还是搜索和数据分析。 所以今天&#xff0c;我们研究下elasticsearch的数据搜索功能。我们会分别使用…

数据库空间爆了怎么处理

作者&#xff1a; 马文斌 时间&#xff1a; 2024-1-29 标签&#xff1a; mysql 磁盘空间 爆满 binlog 背景 近期数据库空间一直告警&#xff0c;平时这套数据库集群是不会有磁盘空间告警的&#xff0c;难道是最近业务量猛增了吗&#xff1f;咱们来瞧瞧到底怎么回事&…

springboot142新冠病毒密接者跟踪系统

新冠病毒密接者跟踪系统设计与实现 摘 要 信息数据从传统到当代&#xff0c;是一直在变革当中&#xff0c;突如其来的互联网让传统的信息管理看到了革命性的曙光&#xff0c;因为传统信息管理从时效性&#xff0c;还是安全性&#xff0c;还是可操作性等各个方面来讲&#xff…

故障诊断 | 一文解决,SVM支持向量机的故障诊断(Matlab)

效果一览 文章概述 故障诊断 | 一文解决,SVM支持向量机的故障诊断(Matlab) 支持向量机(Support Vector Machine,SVM)是一种常用的监督学习算法,用于分类和回归分析。SVM的主要目标是找到一个最优的超平面(或者在非线性情况下是一个最优的超曲面),将不同类别的样本分开…

第二证券:沪指再度失守2800点,2月行情怎么走?

周三A股三大指数继续下行&#xff0c;上证指数再度失守2800点。 1月31日&#xff0c;沪深股指早盘小幅收拾后快速下行&#xff0c;盘中一度克复部分跌幅&#xff0c;但午后沪深股指再次回落。到收盘&#xff0c;沪指指数跌1.48%&#xff0c;深证成指跌1.95%&#xff0c;创业板…

Linux——安装MySQL

1、安装mysql8.0.35 1.1、安装步骤 1.更新包列表&#xff0c;首先&#xff0c;确保您的系统已更新到最新状态。运行以下命令来更新包列表和安装最新的软件包&#xff1a; sudo apt update sudo apt upgrade2.安装MySQL服务器&#xff1a;运行以下命令来安装MySQL服务器&…

windows 谷歌浏览器Chrome 怎么禁止更新

1.首先把任务管理器里的谷歌浏览器程序结束&#xff1a; &#xff08;鼠标在任务栏右击&#xff0c;出现任务管理器&#xff09; 2.windowr&#xff0c;输入services.msc 带有Google Update的服务&#xff0c;选择禁用。 3.windowr&#xff0c;输入taskschd.msc 任务计划程序…

蓝桥杯---牌型种数

小明被劫持到X赌城&#xff0c;被迫与其他3人玩牌。一副扑克牌(去掉大小王牌,共52张)&#xff0c;均匀发给4个人&#xff0c;每个人13张。这时&#xff0c;小明脑子里突然冒出一个问题&#xff1a;如果不考虑花色&#xff0c;只考虑点数&#xff0c;也不考虑自己得到的牌的先后…

《幻兽帕鲁》1月29日游戏服务器推荐!腾讯云降低规格再次降价!

腾讯29日刷新规格&#xff0c;从14M降低到12M&#xff0c;硬盘和流量都有降低&#xff0c;但价格打下来了&#xff01;价格从66元/月降低到32元/月&#xff0c;277元/3个月降低到96元/3个月&#xff01; 三大厂商4核16G的云服务器价格对齐&#xff0c;不过具体参数略有不同 阿里…

D2025——双通道音频功率放大电路,外接元件少, 通道分离性好,3V 的低压下可正常使用

D2025 为立体声音频功率放大集成电路&#xff0c;适用于各类袖珍或便携式立体声 收录机中作功率放放大器。 D2025 采用 DIP16 封装形式。 主要特点&#xff1a;  适用于立体声或 BTL 工作模式  外接元件少  通道分离性好  电源电压范围宽&#xff08;3V~12V…