news 2026/11/3 19:04:04

SQL的基础

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
SQL的基础

SQL的基础语句

select语句

使用形式:SELECT column1, column2, ... FROM table_name WHERE condition;

select * from student where sex=’男’;

其中,SELECT关键字用于指定要查询的列,可以使用*代表所有列;FROM关键字用于指定要查询的表;WHERE关键字用于指定查询的条件。

insert语句

INSERT INTO table_name (column1, column2, column3, ...) VALUES (value1, value2, value3, ...);

其中,table_name是要插入数据的表名,column1、column2等是表中的列名,value1、value2等是要插入的值。

update语句

UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE some_column = some_value;

其中,table_name是要更新数据的表名,column1、column2等是要修改的列名,value1、value2等是要修改的值,WHERE子句是用于指定要更新的行的条件。

delete语句

DELETE FROM table_name WHERE some_column = some_value;

其中,table_name是要删除数据的表名,WHERE子句是用于指定要删除的行的条件。

注意:如果不指定条件相当于删除表中所有数据

SQL基本查询

where子句

WHERE子句是结构化查询语言(SQL)中用于筛选数据的关键字。通过WHERE子句,您可以指定一个或多个条件来限制从数据库中检索的数据行。以下是WHERE子句的使用方式:

SELECT * FROM table_name WHERE some_column = some_value;

操作符:

WHERE子句可以使用以下比较运算符:

=(等于)

<(小于)

>(大于)

<=(小于或等于)

>=(大于或等于)

<>或!=(不等于)

还可以使用逻辑运算符(AND、OR和NOT)来组合多个条件。例如:

SELECT * FROM students WHERE sex = ‘男’ and age > 23;

模糊搜索

-- 多字符匹配 SELECT * FROM students WHERE clazz like 'xx%' -- 单字符匹配 SELECT * FROM students WHERE stu_name LIKE '张_'; -- 多关键词匹配:找姓名含“张”或“李”或“王”的学生 SELECT * FROM students WHERE name RLIKE '张|李|王' -- 范围匹配:找姓名含“张”且后面跟1-2个字符的学生(如“张三”“张三丰”) SELECT * FROM students WHERE name RLIKE '张.{1,2}';

in

返回选项中的内容

select * from students where clazz in ('xx','xx','xx');

BETWEEN AND

返回年龄在22到24的学生

select * from students where age BETWEEN 22 AND 24;

order by子句

ORDER BY子句用于对查询结果按照一个或多个列进行排序。它接受一个或多个列名或表达式作为参数,并可指定每个列的排序方式(ASC:升序,DESC:降序)。语法如下:

SELECT column1, column2, ... FROM table_name ORDER BY column1 [ASC | DESC], column2 [ASC | DESC], ...

group by子句

GROUP BY子句用于将查询结果按照一个或多个列进行分组,并对每个组进行聚合计算(如COUNT、SUM、AVG等)。语法如下:

SELECT column1, column2, ..., avg(column_name) FROM table_name GROUP BY column1, column2, ...
-- 嵌套where select * from (SELECT column1, column2, ..., aggregate_function(column_name) f FROM table_name GROUP BY column1, column2, ...) as t1 where t1.f > xxx;

having子句

HAVING子句用于对分组后的结果进行过滤,只返回符合条件的分组。它接受一个或多个聚合函数作为参数,并可指定每个函数的过滤条件。语法如下:

SELECT column1, column2, ..., aggregate_function(column_name) FROM table_name GROUP BY column1, column2, ... HAVING condition;

limit子句

LIMIT用于限制查询结果集的行数,其中,number是你想要返回的行数。其语法如下:

SELECT column1, column2, ... FROM table_name LIMIT number;
-- 多行查询 从number1起 limit number2个 SELECT column1, column2, ... FROM table_name LIMIT number1,number2;

offsite子句

OFFSET用于指定查询结果集的偏移量。

其中,number是你想要返回的行数,offset_num是从查询结果集的起始位置偏移的行数。

SELECT column1, column2, ... FROM table_name LIMIT number OFFSET offset;

数据连接

内连接 join | inner join

SELECT s.*, sc.subject_id, su.subject_name FROM ( students s JOIN scores sc JOIN subjects su ON s.stu_id = sc.stu_id and sc.subject_id = su.subject_id );

外连接 left join / right join / full join

# 在score末行添加一个假数据 # 2000 1 100 期末 SELECT * FROM( students as s RIGHT JOIN scores as sc ON s.stu_id = sc.stu_id );

union 操作

先拼接,再去重(删除重复行)

-- 合并“成绩≥90”和“成绩≤60”的学生信息(UNION 自动去重) SELECT s.stu_id, s.stu_name, sc.score, su.subject_name FROM students s JOIN scores sc ON s.stu_id = sc.stu_id JOIN subjects su ON sc.subject_id = su.subject_id WHERE sc.score >= 90 UNION SELECT s.stu_id, s.stu_name, sc.score, su.subject_name FROM students s JOIN scores sc ON s.stu_id = sc.stu_id JOIN subjects su ON sc.subject_id = su.subject_id WHERE sc.score <= 60 ORDER BY score DESC;

union all操作

直接拼接结果,不做任何去重 / 排序

-- 添加一个student 张三 19 SELECT name FROM students WHERE age = 20 UNION ALL SELECT name FROM students WHERE age = 19;
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/11/3 18:34:44

jQuery 尺寸

jQuery 尺寸 引言 jQuery 是一个广泛使用的 JavaScript 库,它极大地简化了 HTML 文档遍历、事件处理、动画和 Ajax 操作等操作。在开发中,有时我们需要获取元素的大小,jQuery 提供了一系列方法来实现这一功能。本文将详细介绍 jQuery 中与尺寸相关的方法,帮助开发者更好地…

作者头像 李华
网站建设 2026/11/3 16:39:23

从SP到BP战略规划与解码全流程(华为案例)

华为公司能持续穿越产业周期、在多个领域取得全球领先地位&#xff0c;其核心引擎之一是一套严谨、闭环、动态迭代的战略管理体系。 这套体系的核心&#xff0c;即是从3-5年战略规划&#xff08;SP&#xff09;向年度业务计划&#xff08;BP&#xff09;的高质量解码与落地过程…

作者头像 李华
网站建设 2026/11/1 11:05:36

XML Schema 元素

XML Schema 元素 XML Schema 是一种用来定义 XML 文档结构的语言。它是 XML 文档类型定义(DTD)的替代品,提供了更强大和灵活的机制来描述 XML 文档的结构和内容。本文将详细探讨 XML Schema 中的元素,并解释它们在构建 XML 文档中的作用。 1. XML Schema 基础 在深入讨论…

作者头像 李华
网站建设 2026/11/2 3:22:35

MobaXterm:运维高手的终极利器

MobaXterm&#xff1a;高效运维实战指南 - 技术文章大纲一、 引言运维工程师的痛点&#xff1a;远程管理、多协议支持、文件传输、效率工具MobaXterm 简介&#xff1a;一体化网络工具集All-in-One 解决方案 (SSH, X11, RDP, VNC, Telnet, FTP, SFTP, ...)开源免费版与专业版的区…

作者头像 李华
网站建设 2026/11/3 16:33:01

微信小程序开发实战之 03-微信小程序页面交互

微信小程序框架接口 App 函数 在微信小程序中&#xff0c;若要在微信小程序启动、显示、隐藏时执行某些操作&#xff0c;或者在各个页面中需要共享一些数据时&#xff0c;可以通过 App 函数来实现。 App 函数用于注册一个微信小程序&#xff0c;该函数必须在 微信小程序入口文件…

作者头像 李华