热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

mysql第四章_第四章常用技巧

####*MySQL一些常用查询技巧*查询每个班有多少人,如果没有人的班级显示无SELECTIF(COUNT(u.class_id),COUNT(u.class_i

> #### *MySQL一些常用查询技巧*

查询每个班有多少人,如果没有人的班级显示无

```

SELECT IF (COUNT(u.class_id),COUNT(u.class_id),'无') AS num,c.cname

FROM `class` AS c LEFT JOIN `user` AS u ON u.class_id=c.id GROUP BY c.id;

```

order by可以进行多次排序,如

```

select * from `user` order by class, order by score desc;

```

查出每个班的及格人数与不及格人数,格式为:class、及格人数、不及格人数

对于这种矛盾体来说(也就是即要不格又要及格),主要用到的是if,

向表中添加一个字段

```

alter table 表名 add 字段名 varchar(20) not null

```

修改

```

ALTER TABLE 表名 MODIFY COLUMN 字段名 字段类型定义

```

删除

```

alter table 表名 drop column 字段名

```

清空表数据

```

truncate 表名

```

复制表结构

```

1、CREATE TABLE 要复制的表名 SELECT * FROM 被复制的表名 WHERE 0;#结构与数据同时复制

2、create table 表名 like 要复制表名;#只复制表结构

insert into 表名 select * from 要复制的表名; #复制表内容

```

> #分组后一般查询的字段只能是分组的字段

> #where中不能用聚合函数

> #在聚合函数中要用having代替where,having是在进行分组后筛选

### **删除表中的重复记录,同时保留最小id的记录**

```

DELETE FROM tableName WHERE id IN (

SELECT b.id FROM (

SELECT

max(id) AS id,title,count(*) AS repeat_num

FROM

tableName as a

GROUP BY

title

HAVING

repeat_num > 1

) AS b

)

```

查看慢查询日志(超过10秒的才会被记录)

`show variables like '%quer%'`

查看一个数据库中是否有慢查询

`show status like '%quer%'`

#查出文章表中所有的文章并显示属于哪个分类下的文章,如果有图片将图片显示出业,如果没有,则不显示

```

SELECT

b.id,

b.title,

a.cat_name,

ifnull(c.file,'无图片') as image

FROM

article_category AS a

LEFT OUTER JOINarticle AS b ON a.cat_id = b.cat_id

LEFT OUTER JOIN file AS c ON b.image = c.number

```

*****

> 获取上一篇与下一篇实现思路

##### 当前文章

`select * from dou_article where id = 232 limit 0,1;

`

##### 上一篇:原理:查出比当前文章id小于的所有文章id,然后再将查出来的所有id求出最大值

&#96;select max(id) from dou_article where id <232 limit 0,1;

&#96;

##### 下一篇&#xff1a;原理&#xff1a;查出比当前文章id大于的所有文章的id&#xff0c;然后再将查出来的所有id求出最小值

&#96;select min(id) from dou_article where id > 232 limit 1;&#96;

*****

>发贴数最多的十个人名字的SQL&#xff0c;利用下表&#xff1a;members(id,username,posts,pass,email)

&#96;select username from members order by posts desc limit 0,10&#96;

*****

> 根据分组选择所有分组下面的数据

在mysql中如果用group by进行分组&#xff0c;选择的数据只包含了第一条&#xff0c;如果选择所有的数据&#xff0c;可以用mysql的一个函数来选取&#xff0c;group_concat()

&#96;select username from members order by posts desc limit 0,10&#96;



推荐阅读
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • 本文深入探讨 MyBatis 中动态 SQL 的使用方法,包括 if/where、trim 自定义字符串截取规则、choose 分支选择、封装查询和修改条件的 where/set 标签、批量处理的 foreach 标签以及内置参数和 bind 的用法。 ... [详细]
  • 利用存储过程构建年度日历表的详细指南
    本文将介绍如何使用SQL存储过程创建一个完整的年度日历表。通过实例演示,帮助读者掌握存储过程的应用技巧,并提供详细的代码解析和执行步骤。 ... [详细]
  • PHP 编程疑难解析与知识点汇总
    本文详细解答了 PHP 编程中的常见问题,并提供了丰富的代码示例和解决方案,帮助开发者更好地理解和应用 PHP 知识。 ... [详细]
  • 构建基于BERT的中文NL2SQL模型:一个简明的基准
    本文探讨了将自然语言转换为SQL语句(NL2SQL)的任务,这是人工智能领域中一项非常实用的研究方向。文章介绍了笔者在公司举办的首届中文NL2SQL挑战赛中的实践,该比赛提供了金融和通用领域的表格数据,并标注了对应的自然语言与SQL语句对,旨在训练准确的NL2SQL模型。 ... [详细]
  • 本文详细介绍了Akka中的BackoffSupervisor机制,探讨其在处理持久化失败和Actor重启时的应用。通过具体示例,展示了如何配置和使用BackoffSupervisor以实现更细粒度的异常处理。 ... [详细]
  • 本文详细介绍了如何通过多种编程语言(如PHP、JSP)实现网站与MySQL数据库的连接,包括创建数据库、表的基本操作,以及数据的读取和写入方法。 ... [详细]
  • 本文介绍了如何通过 Maven 依赖引入 SQLiteJDBC 和 HikariCP 包,从而在 Java 应用中高效地连接和操作 SQLite 数据库。文章提供了详细的代码示例,并解释了每个步骤的实现细节。 ... [详细]
  • Windows服务与数据库交互问题解析
    本文探讨了在Windows 10(64位)环境下开发的Windows服务,旨在定期向本地MS SQL Server (v.11)插入记录。尽管服务已成功安装并运行,但记录并未正确插入。我们将详细分析可能的原因及解决方案。 ... [详细]
  • 深入理解 Oracle 存储函数:计算员工年收入
    本文介绍如何使用 Oracle 存储函数查询特定员工的年收入。我们将详细解释存储函数的创建过程,并提供完整的代码示例。 ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • 在使用SQL Server进行动态SQL查询时,如果遇到LIKE语句无法正确返回预期结果的情况,通常是因为参数传递方式不当。本文将详细探讨这一问题,并提供解决方案及相关的技术背景。 ... [详细]
  • 本文介绍如何通过创建替代插入触发器,使对视图的插入操作能够正确更新相关的基本表。涉及的表包括:飞机(Aircraft)、员工(Employee)和认证(Certification)。 ... [详细]
  • MySQL缓存机制深度解析
    本文详细探讨了MySQL的缓存机制,包括主从复制、读写分离以及缓存同步策略等内容。通过理解这些概念和技术,读者可以更好地优化数据库性能。 ... [详细]
author-avatar
鉴佳熙萍
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有