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

2024-06-01 09:36

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



http://www.chinasem.cn/article/1020637

相关文章

python判断文件是否存在常用的几种方式

《python判断文件是否存在常用的几种方式》在Python中我们在读写文件之前,首先要做的事情就是判断文件是否存在,否则很容易发生错误的情况,:本文主要介绍python判断文件是否存在常用的几种... 目录1. 使用 os.path.exists()2. 使用 os.path.isfile()3. 使用

canal实现mysql数据同步的详细过程

《canal实现mysql数据同步的详细过程》:本文主要介绍canal实现mysql数据同步的详细过程,本文通过实例图文相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的... 目录1、canal下载2、mysql同步用户创建和授权3、canal admin安装和启动4、canal

SQL中JOIN操作的条件使用总结与实践

《SQL中JOIN操作的条件使用总结与实践》在SQL查询中,JOIN操作是多表关联的核心工具,本文将从原理,场景和最佳实践三个方面总结JOIN条件的使用规则,希望可以帮助开发者精准控制查询逻辑... 目录一、ON与WHERE的本质区别二、场景化条件使用规则三、最佳实践建议1.优先使用ON条件2.WHERE用

MySQL存储过程之循环遍历查询的结果集详解

《MySQL存储过程之循环遍历查询的结果集详解》:本文主要介绍MySQL存储过程之循环遍历查询的结果集,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录前言1. 表结构2. 存储过程3. 关于存储过程的SQL补充总结前言近来碰到这样一个问题:在生产上导入的数据发现

MySQL 衍生表(Derived Tables)的使用

《MySQL衍生表(DerivedTables)的使用》本文主要介绍了MySQL衍生表(DerivedTables)的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学... 目录一、衍生表简介1.1 衍生表基本用法1.2 自定义列名1.3 衍生表的局限在SQL的查询语句select

MySQL 横向衍生表(Lateral Derived Tables)的实现

《MySQL横向衍生表(LateralDerivedTables)的实现》横向衍生表适用于在需要通过子查询获取中间结果集的场景,相对于普通衍生表,横向衍生表可以引用在其之前出现过的表名,本文就来... 目录一、横向衍生表用法示例1.1 用法示例1.2 使用建议前面我们介绍过mysql中的衍生表(From子句

六个案例搞懂mysql间隙锁

《六个案例搞懂mysql间隙锁》MySQL中的间隙是指索引中两个索引键之间的空间,间隙锁用于防止范围查询期间的幻读,本文主要介绍了六个案例搞懂mysql间隙锁,具有一定的参考价值,感兴趣的可以了解一下... 目录概念解释间隙锁详解间隙锁触发条件间隙锁加锁规则案例演示案例一:唯一索引等值锁定存在的数据案例二:

MySQL JSON 查询中的对象与数组技巧及查询示例

《MySQLJSON查询中的对象与数组技巧及查询示例》MySQL中JSON对象和JSON数组查询的详细介绍及带有WHERE条件的查询示例,本文给大家介绍的非常详细,mysqljson查询示例相关知... 目录jsON 对象查询1. JSON_CONTAINS2. JSON_EXTRACT3. JSON_TA

MySQL 设置AUTO_INCREMENT 无效的问题解决

《MySQL设置AUTO_INCREMENT无效的问题解决》本文主要介绍了MySQL设置AUTO_INCREMENT无效的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参... 目录快速设置mysql的auto_increment参数一、修改 AUTO_INCREMENT 的值。

MYSQL查询结果实现发送给客户端

《MYSQL查询结果实现发送给客户端》:本文主要介绍MYSQL查询结果实现发送给客户端方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录mysql取数据和发数据的流程(边读边发)Sending to clientSending DataLRU(Least Rec