day02:DML DQL DCL

news2024/9/23 3:25:14

目录

一: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.coloradmin.cn/o/1131917.html

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

相关文章

基础课9——机器学习

1.概念 机器学习是一种数据分析技术&#xff0c;它使计算机能够像人类一样从经验中学习。机器学习算法使用计算方法直接从数据中获取信息&#xff0c;而不依赖于预定方程模型。当可用于学习的样本数量增加时&#xff0c;这些算法可以自适应提高性能。 机器学习是人工智能的一…

方法递归详解

什么是方法递归 方法直接调用自己或者间接调用自己的形式称为方法递归&#xff08; recursion&#xff09;。 递归做为一种算法在程序设计语言中广泛应用。 递归的形式 直接递归&#xff1a;方法自己调用自己。 间接递归&#xff1a;方法调用其他方法&#xff0c;其他方法又…

Postman中几个body请求格式区别及使用说明

参阅&#xff1a;https://blog.csdn.net/qq_41063141/article/details/101505956&#xff0c;在此基础上添加代码使用说明 一、Params与Body 二者区别在于请求参数在http协议中位置不一样。 Params 它会将参数放入url中以&#xff1f;区分以&拼接 Body则是将请求参数放在请…

39.B树,B+树(王道第7章查找补充知识)

目录 一. B树 &#xff08;1&#xff09;B树的定义 &#xff08;2&#xff09;B树的高度 &#xff08;3&#xff09;B树的插入 &#xff08;4&#xff09;B树的删除 二. B树 &#xff08;1&#xff09;B树的定义 &#xff08;2&#xff09;B树与B树的区别 一. B树 &am…

什么是自动证书管理环境(ACME)

组织的网站需要 24x7 全天候可用&#xff0c;以建立信任并提供信息&#xff0c;如果网站因证书过期而停机&#xff0c;那么很难恢复失去的客户信任、收入和品牌声誉&#xff0c;手动管理证书基础结构会使组织面临中断、中间人 &#xff08;MITM&#xff09; 攻击等的严重风险。…

新上线游戏产品需不需要防御?

游戏运营免不了遭受恶意DDoS和CC攻击&#xff0c;且攻击常达百G以上&#xff0c;攻击流量过大&#xff0c;超过一般服务器的基础防护能力&#xff0c;不少企业面对大流量攻击显得束手无策&#xff0c;只能选择被迫停机&#xff0c;其次游戏行业利润高&#xff0c;很容易被黑客盯…

智慧矿山:如何快速识别带式运输机空载状态!

带式运输机作为一种常见的物料输送设备&#xff0c;广泛应用于矿山、建筑、化工等行业。但在使用过程中&#xff0c;经常会出现空载运行的情况&#xff0c;即带式运输机无物料传送时仍不停工作&#xff0c;导致能源和设备的浪费。因此&#xff0c;对带式运输机进行空载识别并采…

【期刊】IEEE系列指定期刊模版下载(LaTeX或者Word)全网最细教程

IEEE旗下有很多期刊&#xff0c;例如&#xff1a; IEEE Transactions on Pattern Analysis and Machine Intelligence IEEE Transactions on Cybernetics IEEE Transactions on Neural Networks and Learning Systems IEEE Transactions on Industrial Informatics IEEE Tra…

代理服务器可能有问题,或地址不正确的解决办法

问题&#xff1a; 解决办法&#xff1a; 1.找到代理服务器设置 2.代理服务器&#xff0c;设置关闭

基于springboot实现在线考试平台管理系统【项目源码+论文说明】计算机毕业设计

基于Springboot实现在线考试平台管理系统演示 摘要 网络的广泛应用给生活带来了十分的便利。所以把在线考试管理与现在网络相结合&#xff0c;利用java技术建设在线考试系统&#xff0c;实现在线考试的信息化管理。则对于进一步提高在线考试管理发展&#xff0c;丰富在线考试管…

[笔记] Windows 审计《一》判断是否SACL系统记录权限、DACL管理权限是否继承

文章目录 前言代码总结 前言 安全对象&#xff1a;由微软定义为可以具有安全描述符的对象&#xff0c;包括诸如文件&#xff0c;线程&#xff0c;远程注册表&#xff0c;Active Directory对象等许多东西。 安全描述符&#xff1a;包含许多字段的二进制结构&#xff0c;包括对…

K-Means和KNN

主要区别 从无序 —> 有序 从K-Means —> KNN KNN&#xff1a;监督学习&#xff0c;类别是已知的&#xff0c;对已知分类的数据进行训练和学习&#xff0c;找到不同类的特征&#xff0c;再对未分类的数据进行分类。K-Means&#xff1a;无监督学习&#xff0c;事先不知道…

一套成熟的ERP系统,应具备哪些能力?

随着制造业数字化、智能化的不断升级&#xff0c;企业的金字塔静态管理模式也在向扁平化动态管理模式转变&#xff0c;而企业管理系统则是推动这一趋势发展的重要载体。 为了更好地实现企业管理信息化&#xff0c;越来越多的企业在应用ERP系统。ERP对企业经营起着至关重要的辅…

Kafka-Java一:Spring实现kafka消息的简单发送

目录 写在前面 一、创建maven项目 二、引入依赖 2.1、maven项目创建完成后&#xff0c;需要引入以下依赖 2.2、创建工程目录 三、创建生产者 3.1、创建生产者&#xff0c;同步发送消息 3.2、创建生产者&#xff0c;异步发送消息 四、同步发送消息和异步发送消息的区别…

ChinaSoft 论坛巡礼 | 开源软件生态健康度量论坛

2023年CCF中国软件大会&#xff08;CCF ChinaSoft 2023&#xff09;由CCF主办&#xff0c;CCF系统软件专委会、形式化方法专委会、软件工程专委会以及复旦大学联合承办&#xff0c;将于2023年12月1-3日在上海国际会议中心举行。 本次大会主题是“智能化软件创新推动数字经济与社…

京东销量(销额)数据分析:2023年9月京东奶粉行业品牌销售排行榜

鲸参谋监测的京东平台9月份奶粉市场销售数据已出炉&#xff01; 根据鲸参谋平台的数据显示&#xff0c;今年9月份&#xff0c;京东平台奶粉&#xff08;包括婴幼儿奶粉、孕妈奶粉、婴幼儿液态奶&#xff09;市场的销量约730万&#xff0c;环比降低约6%&#xff0c;同比降低约19…

【C语言】指针那些事(上)

C语言系列 文章目录 文章目录 一. 字符指针 一.&#xff08;1 &#xff09; 数组创建空间的地址和指针指向的地址 二. 指针数组 二.&#xff08;1&#xff09;指针数组模拟一个二维数组 ​ 三. 数组指针 三.(1)数组指针到底有什么用 对一维数组没有什么用 二.(…

VC++程序崩溃时,使用Visual Studio静态分析dump文件

1、通过Visual Studio直接把Dump文件打开 2、点击【仅限本机进行调试】&#xff0c;启动Dump 3.1、本机调试启动后&#xff0c;如果程序运行模块和pdb文件在同一个目录的&#xff0c;直接定位到异常代码行 3.2、如果显示找不到pdb文件&#xff0c;则需要通过【新建路径】设置…

Python-列表、元组和字典

目录 一、列表概述 二、列表的循环遍历 1、使用for循环遍历列表 2、使用while循环遍历列表 三、列表的常见操作 1、在列表中增加元素 &#xff08;1&#xff09;使用append方法 &#xff08;2&#xff09;使用extend方法 &#xff08;3&#xff09;使用insert方法 2、…

温馨提示!小心不法分子的隐藏陷阱

《绝地求生》国服的”老兵回归”活动一经推出就受到广大玩家欢迎&#xff0c;因此也有不法分子想趁虚而入。就在近日&#xff0c;我们接到玩家举报&#xff0c;发现一些不法分子通过伪基站邮件群发的形式&#xff0c;以“第XXXX位老兵奖励”为主题&#xff0c;向用户推荐一个非…