day02:DML DQL DCL

目录

一:DML

二:DCL

三:DCL


一:DML

1:概念:数据操作原因,对数据进行增删改。

2:三个操作

(1):增加:insert

id

name

age

gender

1

令狐冲

23

2(添加的数据)风清扬25

1--->给指定字段添加数据:insert into 表名(字段1,字段2--)values(值1,值2,--);

2---->给全部字段添加信息:insert into 表名 values(值1,值2--);

3----->批量添加数据insert into 表名(字段1。字段2--)values (值1,值2),(值1,值2);insert into values(值1,值2----);

代码实现:

#给指定字段添加信息
insert into  employee (id, workno, `name 1`, gender, `age 1`, phonenumber, birth) values (1,'1','李明轩','男',18,'1234567890','2003-11-25');
select *from employee;
#给整段添加信息
insert into employee values (2,'2','张无忌','男',19,'123456789070','2004-11-25');
#批量添加数据
insert into employee values(3,'3','徐佳烨','男',20,'12345678907090','2006-11-25'),(4,'4','李华','女',20,'12345678907090','2007-11-25');

运行结果:

(2)修改数据:update

1----->将某个字符集的某个信息进行修改:update 表名 set 字段名1=值1,字段名2=值2......[where 条件];

代码:

#修改数据
#将id为1的员工,姓名改为lmx,
update employee set  `name 1`= 'lmx' where id=1;
#将id为1的员工,姓名改为小昭,性别改为女
update employee set `name 1`='小昭',gender='女' where id=1;
#将所有员工的出生日期改为2008-01-01
update  employee set birth  ='2008-01-01';

运行结果: 

3:删除数据:delete

1---->delete from 表名 [where 条件];

#注意,如果where后面跟条件,则代表删除的整段字符集,如果不加,默认删除整张表

代码:

#删除员工
delete  from employee where id=1;

 运行结果: 

二:DCL

1:概念数据查询语言,用来查询数据库中表的记录 -------->关键词:select

2:查询

   1--->基本查询

 (1):查询信息  select 字段1,字段2,字段3 from表名;----select*from表名;

 (2):起别名      select 字段1[AS 别名1]......from 表名;

 (3):去重查询 select distinct 字段列表 from 表名;

   代码:

insert into emp (id, workno, name, gender, age, idcard, workaddress, entrydate)
values (1,'1','柳岩','女',20,'12345678901234567','北京','2000-01-01'),(2,'2','张无忌','男',18,'123456789012345678','北京','2005-09-01'),(3,'3','韦一笑','男',38,'1234567890select distinct 字段列表 from 表名;1234670','上海','2005-08-01'),(4,'4','赵敏','女',18,'12345678901234570','北京','2009-12-01'),(5,'5','小昭','女',16,'12345678901234678','北京','2007-07-01');
#查询
#1.查询指定字段,name,workno,age返回
select  name,workno,age from emp;
#2.查询所有字段返回*为通配符
select *from emp;
#查询所有员工的工作地址,起别名
select workaddress as address from emp;
#查询所有的人员的工作地址,其不重复
select distinct  workaddress as '工作地址' from emp;

   运行结果:

  2--->条件查询

select 字段列表 from where 条件列表;

#注意:

1:between 最小值 and 最大值

2:字符串判断是否为空 is (not) null

3:like---->模糊处理字符'_'代表字符个数 ’%‘代表精确的字符

4:不等于两种实现方式 != <>

5:&&=and

6:||=or

7:一个字段列表匹配多个值 in(值1,值2,值3)

代码:

insert into emp (id, workno, name, gender, age, idcard, workaddress, entrydate)
values (1,'1','柳岩','女',20,'12345678901234567','北京','2000-01-01'),(2,'2','张无忌','男',18,'123456789012345678','北京','2005-09-01'),(3,'3','韦一笑','男',38,'12345678901234670','上海','2005-08-01'),(4,'4','赵敏','女',18,'12345678901234570','北京','2009-12-01'),(5,'5','小昭','女',88,'12345678901234678','北京','2007-07-01');
#基础查询
#1.查询指定字段,name,workno,age返回
select name,workno,age from emp;
#2.查询所有字段返回*为通配符
select *from  emp;
#查询所有员工的工作地址,起别名
select workaddress as '工作地址' from  emp;
#查询所有的人员的工作地址,其不重复select distinct  workaddress as '工作地址' from emp;
#条件查询
#1.查询年龄等于88的员工
select * from emp where age = 88;
#2.查询年龄小于20的员工信息
select * from emp where age<20;
#3.查询年龄小于等于20岁的员工信息
select * from emp where age<=20;
#4。查询没有身份证号的员工信息
#当为字符串的时候,判断是否为空,用is null //is not null
select * from emp where idcard is null;
#5.查询有身份证号的员工信息
select *from emp where idcard  is not null;
#6.查询年龄不等于88的员工信息
#//判断数字,用=  !=//<>
select  * from  emp where  age!=88;
select  *from emp where age <>88;
#7查询年龄在15岁到20岁之间的员工信息
select  *from emp where age>=15&&age<=30;
select  *from emp where age>=15 and age<=30;
select * from emp where age between  15 and 20;
#8.查询性别为女。且年龄小于25的员工信息
select * from emp where gender ='女' and age<25;
#9.查询年龄等于18 20 40
select *from emp where age =18 or 20 or 40;
#可以选择多个值
select  *from emp where  age in(18,20,40);
#查询姓名为两个字的员工__代表字符个数
select  * from emp where name like '___';
#查询身份证号最后一位为x的员工信息,____________x
select *from emp where name like '%X';

    3--->分组查询:group by 

    #注意

   聚合函数------>将一列数据作为整体,进行纵向计算

   select 聚合函数(字段列表) from 表名;

    常见函数:count max min avg sum

#代码
#聚合函数
#统计该企业员工的数量
select  count(*) from emp;
select count(id) from emp;
#统计该企业员工的平均年龄
select avg(age) from emp;
#统计该企业员工的最大年龄
select max(age) from emp;
#统计该企业员工的最小年龄
select  min(age) from emp;
#统计北京地区的年龄之和
select  sum(age) from emp where workaddress='北京';

     select 字段列表 from 表名 where group by 分组字段名 having 分组后过滤条件;

代码:

#分组查询
#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 having count(*)>=3;

  4--->排序查询:order by 

###:如果是多字段排序,当第一个字段值相同时。才会根据第二个字段进行排序

asc:升序(默认值)

desc:降序

#根据年龄对于公司的员工升序哦艾许
select  * from emp order by  age asc;
#2。根据入职时间,对员工进行降序排序
select entrydate  from emp order by entrydate desc ;
#根据年龄对公司的年龄进行升序排序,年龄相同,再按照入职时间进行降序排序
select  * from  emp order by age asc,entrydate desc

   5 -->分页查询:limit

 select 字段列表 from 表名 limit 起始索引,查询页数;

 #起始索引从0开始,起始索引=(查询页码数-1)*每页显示记录数;

 #分页查询是数据库的方言,不同的数据库用不同的实现,

 #如果查询的第一页数据,其起始索引可以省略,直接简写为limit10

#分页查询
#1.查询第一页员工数据,每页展示10条记录
select * from emp limit  0,10;
#查询第二页员工数据,每页展示10条记录;
select * from emp limit 10,10;

 ###注意:执行顺序:from---where ------group by----select---order by--limit

三:DCL

控制数据库的访问权限,用来管理数据库用户。

1:查询用户

use mysql;

select * from user;

2:创建用户

create user '用户名'@’主机名‘ identified by '密码' ;

create user'lmx'@localhost identified  by '123456';
#任意主机都可以访问
create user 'heima'@'%'  identified by '123456';
#修改用户密码
alter user 'heima'@'%' identified  with mysql_native_password by '1234';
#删除用户
drop user 'lmx'@localhost;

4:权限控制

---1:查询权限

---2:授予权限

---3:撤销权限

show grants for 'heima'@'%';
#授予权限--->所有的权限
grant all on test.* to  'heima'@'%';
#撤销权限
revoke all on test.* from 'heima'@'%';

--------------------------------------------------------------------------------------------------------------------------------做个查询的小练习吧:

#查询年龄为20,21,22,23的女性信息
select  * from emp where gender='女'  and age in(20,21,22,23);
#查询性别为男,并且年龄在20-40岁以内的姓名为三个字的员工
select  * from emp where gender='男' and age between 20 and 40 and name like '___';
#统计员工表中,年龄小于60岁的,男性员工和女性员工的人数
select gender,count( * )from emp  where age<60 group by gender;
#查询所有年龄小于等于35岁员工的姓名和年龄,并对查询结果按年龄升序排序,如果年龄相同则按入职时间进行降序排序
select  * from emp where age<=35 order by  age asc,entrydate desc;
#查询性别为男,且年龄在20-40之间以内的5个员工信息。对查询结果按年龄升序排序,年龄相同入职时间升序排序
select * from emp where gender='男'and age between 20 and 40  order by  age asc,entrydate  desc limit 5;

谢谢大家捧场呦!!!

 

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

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

相关文章

攻防世界-web-FlatScience

1. 题目描述 打开链接&#xff0c;看到如下界面 界面上的链接都点击下&#xff0c;发现都是一些英文论文 这些暂时是我们从界面上能发现的全部信息了 2. 思路分析 && 解题过程 2.1 先将网站使用nikto命令扫描一下 我们发现除了显式的界面外&#xff0c;还有两个隐藏…

Mysql数据库 4.SQL语言 DQL数据操纵语言 查询

DQL数据查询语言 从数据表中提取满足特定条件的记录 1.单表查询 2.多表查询 查询基础语法 select 关键字后指定要查询到的记录的哪些列 语法&#xff1a;select 列名&#xff08;字段名&#xff09;/某几列/全部列 from 表名 [具体条件]&#xff1b; select colnumName…

华为昇腾NPU卡 大模型LLM ChatGLM2模型推理使用

参考&#xff1a;https://gitee.com/mindspore/mindformers/blob/dev/docs/model_cards/glm2.md#chatglm2-6b 1、安装环境&#xff1a; 昇腾NPU卡对应英伟达GPU卡&#xff0c;CANN对应CUDA底层&#xff1b; mindspore对应pytorch&#xff1b;mindformers对应transformers 本…

Vue-dvadmin-d2-crud-plus-自定义后台菜单-添加页面

文章目录 1.新建数据模型2.新建数据序列类3.新建数据视图4.配置路由5.前端新建View组件6.配置后台7.总结 django-vue-admin是一套全部开源的快速开发平台&#xff0c;毫无保留给个人及企业免费使用。 &#x1f9d1;‍&#x1f91d;‍&#x1f9d1;前端采用D2Admin 、Vue、Eleme…

Linux网络流量监控iftop

在 Linux 系统下即时监控服务器的网络带宽使用情况&#xff0c;有很多工具&#xff0c;比如 iptraf、nethogs 等等&#xff0c;但是推荐使用小巧但功能很强大的 iftop 工具【官网&#xff1a;http://www.ex-parrot.com/~pdw/iftop/】。iftop 是 Linux 系统一个免费的网卡实时流…

Path Gain and Channel Capacity for HAP-to-HAP Communications

文章目录 摘要实验仿真场景一&#xff1a; 距离变化对同海拔高度HAP的影响场景二&#xff1a;距离变化对不同海拔高度HAP通信的影响。场景三&#xff1a;平台高度和频率对HAP通信的影响四 信道容量 摘要 在这项研究中&#xff0c;我们重点分析了HAP之间的信道模型&#xff0c;…

HeidiSQL数据库管理工具使用教程

HeidiSQL数据库管理工具使用教程 功能介绍1. 下载使用2. 连接mysql3. SQL编辑器4. 数据导入和导出5. 批量操作6. 备份和恢复 功能介绍 HeidiSQL&#xff08;HeidiSQL数据库管理工具&#xff09;是一个开源的数据库管理工具&#xff0c;通常用于连接和管理关系型数据库系统。它…

边缘计算:云计算的延伸

云计算已经存在多年&#xff0c;并已被证明对大大小小的企业都有好处&#xff1b;然而&#xff0c;直到最近边缘计算才变得如此重要。它是指发生在网络边缘的一种数据处理&#xff0c;更接近数据的来源地。 这将有助于提高效率并减少延迟以及设备和云之间的数据传输成本。边缘…

EtherNet Ip工业RFID读写器与欧姆龙PLC 配置示例说明

一、准备阶段 POE交换机欧姆龙PLC 支持EtherNet Ip协议CX-Programmer 9.5配置软件 二、配置读卡器 1、打开软件 2、选择网卡&#xff0c;如果多网卡的电脑请注意对应所接的网卡&#xff0c;网卡名一般为“Network adapter Realtek PCIe GBE Family” 3、点击“选择网卡”&…

douyin ios 六神参数学习记录

玩那么久安卓了&#xff0c;也终于换一换ios终端分析分析&#xff0c;还是熟悉的x-gorgon&#xff0c;x-argus&#xff0c;x-medusa那些参数。 随便抓个抖音 ios版本的接口&#xff1a; 像评论接口&#xff1a; https://api26-normal-hl.amemv.com/aweme/v2/comment/list/?…

机器学习之查准率、查全率与F1

文章目录 查准率&#xff08;Precision&#xff09;&#xff1a;查全率&#xff08;Recall&#xff09;&#xff1a;F1分数&#xff08;F1 Score&#xff09;&#xff1a;实例P-R曲线F1度量python实现 查准率&#xff08;Precision&#xff09;&#xff1a; 定义&#xff1a; …

低概率Bug,研发敷衍说复现不到

测试工作中&#xff0c;经常会遇到一些低概率出现的问题&#xff0c;如果再是个严重问题&#xff0c;那测试人员的压力无疑是很大的&#xff0c;一方面是因为低概率难以复现&#xff0c;另一面则是来自项目组的压力。 如何在测试时减少此类问题的重复投入&#xff0c;我的思考如…

自研框架跻身全球 JS 框架榜单,排名紧随 React、Angular 之后!

前言 终于实现了一个重要目标&#xff01;我独立研发的 JavaScript 框架 Strve&#xff0c;最近发布了重大版本 6.0.2。距离上次大版本发布已经接近两个月&#xff0c;期间进行了大量的优化&#xff0c;使得框架性能和稳定性都得到了大幅度的提升。在上次的大版本更新中&#…

css 两栏布局的实现

目录 前言 1. 浮动布局 用法 代码示例 理解 2. Flex布局 用法 代码示例 理解 3. Grid布局 用法 代码示例 理解 高质量的设计 前言 两栏布局是一种常见的网页设计模式&#xff0c;它将页面分为两个主要区域&#xff1a;主内容区域和侧边栏。这种布局方式不仅能够提…

在docker环境下从头搭建openvslam/orb_slam3的流程记录以及问题总结

文章目录 0. 前言1. MobaXterm软件2. docker操作2.1. 拉一个ubuntu镜像2.2. 修改名字&#xff08;可选&#xff09;2.3. 删除之前的docker镜像&#xff08;可选&#xff09; 3. openvslam搭建流程3.1. 起容器3.2. 前置包的安装3.3. 安装Eigen3.4. 安装opencv3.5. 安装DBoW23.6.…

MySQL——九、SQL编程

MySQL 一、触发器1、触发器简介2、创建触发器3、一些常见示例 二、存储过程1、什么是存储过程或者函数2、优点3、存储过程创建与调用 三、存储函数1、存储函数创建和调用2、修改存储函数3、删除存储函数 四、游标1、声明游标2、打开游标3、使用游标4、关闭游标游标案例 一、触发…

Flutter extended_image库设置内存缓存区大小与缓存图片数

ExtendedImage ExtendedImage 是一个Flutter库&#xff0c;用于提供高级图片加载和显示功能。这个库使用了 image 包来进行图片的加载和缓存。如果你想修改缓存大小&#xff0c;你可以通过修改ImageCache的配置来实现。 1. 获取ImageCache实例: 你可以通过PaintingBinding…

超级强大!送你几款Linux 下终极SSH客户端

更多IT技术&#xff0c;请关注微信公众号:“运维之美” 超级强大&#xff01;送你几款Linux 下终极SSH客户端 1.MobaXterm2.Xshell3.SecureCRT4.PuTTY5.FinalShell6.Termius7.WindTerm 安全外壳协议&#xff08;Secure Shell&#xff0c;简称 SSH&#xff09;是一种网络连接协议…

【Gensim概念】02/3 NLP玩转 word2vec

第二部分 句法 六、句法模型&#xff08;类对象和参数&#xff09; 6.1 数据集的句子查看 classgensim.models.word2vec.BrownCorpus(dirname) Bases: object 迭代句子 Brown corpus (part of NLTK data). 6.2 数据集的句子和gram classgensim.models.word2vec.Heapitem(c…

【Docker】Docker数据的存储

默认情况下&#xff0c;在运行中的容器里创建的文件&#xff0c;被保存在一个可写的容器层里&#xff0c;如果容器被删除了&#xff0c;则对应的数据也随之删除了。 这个可写的容器层是和特定的容器绑定的&#xff0c;也就是这些数据无法方便的和其它容器共享。 Docker主要提…