MySQL常用SQL语句总结包含复杂SQL查询

MySQL常用SQL语句总结

MySQL是广泛使用的开源关系型数据库管理系统,其常用SQL语句如下:

增加数据

INSERT

INSERT用于将数据插入到表中,其常用语法为:

INSERT INTO table_name (col1, col2, col3, ...) VALUES (val1, val2, val3, ...);

表名和列名需要替换为实际的名称,例如我们可以将下面一个学生的信息插入到名为students的表中:

INSERT INTO students (id, name, age, gender) VALUES (1, 'Tom', 20, 'male');

更新数据

UPDATE

UPDATE用于更新表中已有的数据,其常用语法为:

UPDATE table_name SET col1=val1, col2=val2, ... WHERE col3=val3;

可以通过WHERE子句来指定要更新的数据的条件。例如我们可以将students表中所有性别为男性的学生的年龄增加1:

UPDATE students SET age=age+1 WHERE gender='male';

删除数据

DELETE

DELETE用于删除表中的数据,其常用语法为:

DELETE FROM table_name WHERE col1=val1;

可以通过WHERE子句来指定要删除的数据的条件。例如我们可以删除students表中编号为1的学生:

DELETE FROM students WHERE id=1;

查询数据

SELECT

SELECT用于从表中查询数据,其常用语法为:

SELECT col1, col2, ... FROM table_name WHERE col3=val3;

可以通过WHERE子句来指定查询的条件,也可以通过ORDER BY子句来指定查询结果的排序规则。例如我们可以查询students表中所有年龄大于等于18岁的女生,并按照年龄升序排列:

SELECT name, age, gender FROM students WHERE age>=18 AND gender='female' ORDER BY age ASC;

复杂查询

在MySQL中,我们可以通过JOIN操作将多个表的数据关联起来查询。例如我们有两个表,分别为studentsscores,其中students表中存储了学生的基本信息,scores表中存储了学生的考试成绩。我们可以通过下面的查询语句查询每个学生的总分及平均分:

SELECT students.id, students.name, SUM(scores.score) AS total_score, AVG(scores.score) AS avg_score
FROM students JOIN scores ON students.id=scores.student_id
GROUP BY students.id, students.name;

其中用到了JOIN操作以及SUM和AVG聚合函数。JOIN操作用于将两个表中相同学生的数据关联起来查询,SUM和AVG函数用于计算总分和平均分。在查询结果中,我们使用了AS关键字给计算列起了别名,使其更加直观易懂。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:MySQL常用SQL语句总结包含复杂SQL查询 - Python技术站

(0)
上一篇 2023年5月21日
下一篇 2023年5月21日

相关文章

  • linux下mysql5.7.19(tar.gz)安装图文教程

    下面是详细的“linux下mysql5.7.19(tar.gz)安装图文教程”,共分为以下步骤: 1. 下载mysql5.7.19(tar.gz) 官方下载地址:https://dev.mysql.com/downloads/mysql/5.7.html 选中”Linux – Generic”,选择”Mysql Server 5.7.19″版本,然后点击”D…

    database 2023年5月22日
    00
  • mysql常用日期时间/数值函数详解(必看)

    MySQL常用日期时间/数值函数详解(必看) 日期和时间函数 NOW() NOW() 函数返回当前日期和时间。 示例: SELECT NOW(); 输出: +———————+ | NOW() | +———————+ | 2021-10-27 16:30:53 | +——————-…

    database 2023年5月22日
    00
  • 细说MySQL死锁与日志二三事

    细说MySQL死锁与日志二三事 死锁 概念 死锁是指两个或多个事务在执行过程中,因争夺资源而相互等待,导致所有事务都无法继续执行的一种情况。 原因 死锁通常是由于多个事务同时获取了部分资源,然后等待其他事务释放资源,从而导致无法继续执行。例如,事务A获取了资源X并等待资源Y,同时事务B获取了资源Y并等待资源X,这时发生死锁。 解决方法 重启MySQL服务,这…

    database 2023年5月22日
    00
  • 系统隐形杀手——阻塞与等待(SQL)

    系统隐形杀手——阻塞与等待(SQL)攻略 什么是阻塞与等待? 在数据库中,阻塞是指当一个进程持有了一个共享资源,但另一个进程需要这个资源,却无法得到访问,这时就会出现阻塞。等待是指一个进程需要某个资源,但是它不可用,这时进程就进入了等待状态。 阻塞与等待的影响 阻塞与等待会对数据库的性能产生负面影响,因为它会引起数据库资源的竞争,进而导致其他请求被延迟。如果…

    database 2023年5月21日
    00
  • Oracle之SQL语句性能优化(34条优化方法)

    接下来我会详细解释“Oracle之SQL语句性能优化(34条优化方法)”的攻略。 一、 索引优化 使用WHERE子句过滤非匹配的记录。如果表中有很多行,但是你只需要其中的一部分时,使用WHERE子句来过滤非匹配的记录,这样可以大大提高查询速度。 为经常使用到的WHERE子句中的列建索引。索引是优化查询速度的一种方式,建立索引可以提高检索的速度,但是建立过多的…

    database 2023年5月21日
    00
  • SQL通用存储过程分页,支持多表联合

    SQL通用存储过程分页是指能够在多表联合查询时,进行通用的分页查询操作。这种分页操作可以应用于多种数据库类型,如MySQL、Oracle、SQL Server等。下面将详细讲解如何进行SQL通用存储过程分页。 1.创建存储过程 创建一个名为Paging的存储过程。在存储过程中,使用了一些重要的参数,如表名、排序列、第几页、每页行数。下面是实现代码。 CREA…

    database 2023年5月22日
    00
  • 详解Linux 服务管理两种方式service和systemctl

    详解Linux服务管理:两种方式service和systemctl Linux服务的管理是系统运维中重要的一个方面。服务是指Linux系统中运行的一些程序,能够提供特定的功能或服务。Linux中有几种服务管理工具,其中最常用的是service和systemctl。本文将详细讲解这两种服务管理方式的使用、区别和示例。 service命令 在早期的Linux系统…

    database 2023年5月22日
    00
  • spring-data-redis版本冲突引发的问题

    1.昨天在maven build项目中发现有个问题,如下所示 java.lang.NoSuchMethodError: org.springframework.data.repository.config.AnnotationRepositoryConfigurationSource.<init>(Lorg/springframework/cor…

    Redis 2023年4月12日
    00
合作推广
合作推广
分享本页
返回顶部