Mysql常用操作DQL数据库、表操作:

         DQL是指MySQL数据库中的数据查询语言(Data Query Language)。它是用来从数据库中检索所需数据的语言。DQL允许用户通过指定查询条件和筛选条件来检索数据库中的数据,并以所需的方式来显示结果。DQL语句可以用于从单个表中查询数据,也可以用于从多个表中进行连接查询。常见的DQL语句包括SELECT语句,用于检索数据;WHERE语句,用于指定查询条件;ORDER BY语句,用于对查询结果进行排序等        

DQL--语法

     在MySQL中,DQL语句是用来查询数据的,常见的DQL语句包括SELECT,FROM,WHERE,GROUP BY,HAVING和ORDER BY等。下面是一些常用的DQL语法:

1. SELECT:用于选择需要返回的列或字段。
   例如:SELECT * FROM 表名;
   
2. FROM:指定要查询的表名。
   例如:SELECT * FROM 表名;
   
3. WHERE:用于指定查询条件。
   例如:SELECT * FROM 表名 WHERE 列名 = 值;
   
4. GROUP BY:用于按照一个或多个列对结果进行分组。
   例如:SELECT 列名1, 列名2 FROM 表名 GROUP BY 列名1, 列名2;
   
5. HAVING:用于对分组后的结果进行筛选。
   例如:SELECT 列名1, 列名2 FROM 表名 GROUP BY 列名1, 列名2 HAVING 聚合函数(列名) > 值;
   
6. ORDER BY:用于对查询结果进行排序。
   例如:SELECT * FROM 表名 ORDER BY 列名 ASC/DESC;
   
7. LIMIT:用于限制查询结果的数量。
   例如:SELECT * FROM 表名 LIMIT 数量;
   
8. JOIN:用于连接多个表以进行复杂的查询。
   例如:SELECT * FROM 表名1 JOIN 表名2 ON 表名1.列名 = 表名2.列名;
  

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


insert into emp(id, workno, name, gender, age, idacrd, workaddress, entrydate)
VALUES (1,'1','test001','女',20,'62050319001010063','北京','2008-08-09'),
       (2,'2','test002','男',18,'62050319001015010','深圳','2005-01-01'),
       (3,'3','test003','男',38,'6205031900101900X','上海','2005-01-01');

数据自己增加即可

/*查询制定字段  name  workno  age */
select name,workno,age from emp;

select * from emp;

select  workaddress  '工作地址'from emp;

/*查询上班工作地址不要重复*/
select distinct  workaddress '工作地址' 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.查询没有身份证号的员工信息*/

select * from emp where idacrd is null ;

/*5.查询有身份证号的员工信息*/

select  * from emp where idacrd is not null ;

/*6.查询年龄不等于88的员工信息*/

select * from emp where age <>88;

select * from emp where age !=88;

/*7.查询年龄在15岁到28岁(包含)之间的员工信息*/

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

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

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 age=20 or age = 42;

select * from emp where age in (18,20,42);

/*10.查询姓名为两个字的员工信息*/

select * from emp where name like '__';

/*查询身份证最后一位是X的信息*/

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

在MySQL中,常用的聚合函数包括:

1. COUNT:用于计算某列或表中的行数。
   例如:SELECT COUNT(*) FROM 表名;
   
2. SUM:用于计算某列或表中数值列的总和。
   例如:SELECT SUM(列名) FROM 表名;
   
3. AVG:用于计算某列或表中数值列的平均值。
   例如:SELECT AVG(列名) FROM 表名;
   
4. MAX:用于计算某列或表中数值列的最大值。
   例如:SELECT MAX(列名) FROM 表名;
   
5. MIN:用于计算某列或表中数值列的最小值。
   例如:SELECT MIN(列名) FROM 表名;
  

/*聚合函数*//*null值不参与计算*/

/*1.统计该企业员工的数量*/

select count(*) from emp;

select count(id) from emp;

select count(idacrd) from emp;

/*2.统计改企业员工的平均年龄*/

select  avg(age) from emp;

/*3.统计改企业员工的最大年龄*/

select max(age) from emp;

/*4.统计改企业员工的最小年龄*/

select min(age) from emp;

/*统计西安地区的员工年龄之和*/

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 having count(*)>=3;

/*排序查询*/

/*1.根据年龄对公司员工信息进行排序*/

select * from emp order by age asc ;

select  * from emp order by age desc ;

/*根据入职时间 对员工进行降序排序*/

select  * from emp order by entrydate desc ;

/*根据年龄进行升序排序  年龄相同   在根据入职时间进行倒序排序*/

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

/*分页查询*/

select  * from emp limit 0,10;

select  * from emp limit 10,10;

/*查询年龄为20 21 22 23岁的女性员工信息*/

select * from emp where age in (20,21,22,23);

/*查询性别为男 并且年龄在30-60岁以内的姓名为两个字的员工信息*/

select * from emp where gender='男'and age between 30 and 60 and name like '__';

/*统计员工表中  年龄小于60岁的   男性员工和女性员工的人数*/

select gender, count(*) from emp where age<60 group by gender;

/*查询所有年龄小于等于35岁员工的姓名和年龄 并对查询结果按年龄升序排序  如果年龄相同按入职时间降序排序*/

select name,age from emp where age<=35 order by age asc,entrydate desc ;

/*查询性别为男   且年龄在20-40以内的5个员工信息  对查询的结果按年龄升序排序  宁陵相同按入职时间升序排序*/

select * from emp
where gender='男' and age between 20 and 42
order by age asc ,entrydate asc limit 5;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值