本文主要是介绍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;
这篇关于Mysql常用操作DQL数据库、表操作:的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!