SQL学习总结

简介: SQL学习总结

昨天学习了SQL的基础知识,今天做一记录总结。

参考文献:廖雪峰的官方网站

基本概念

  • SQL:结构化查询语言(Structured Query Language), 是一种操作关系数据库的语言。
  • 记录:表的每一行
  • 字段:表的每一列
  • NULL: 表示字段数据不存在

tips:

  • 若字段为NULL不代表其值为0或空串‘ ’
  • 通常情况下,为了加快查询速度(查询时无需判断),应该字段避免允许为NULL
  • 主键:可以区分出不同记录的字段,是表中记录的唯一标识
  • 外键:可以把数据与其他表关联起来的字段

查询数据

基本查询

select * 
from <表名>;
  • select:表示查询操作
  • *:表示返回所有字段
  • SELECT 列1, 列2, 列3则可以仅返回指定字段,这种操作称为投影
  • from: 后跟表名,表示从哪个表查询

条件查询

select <字段名>
from <表名> 
where <条件表达式>
order by <字段名> desc <字段名>
limit <pageSize> offset <pageSize*(pageIndex-1)>;
  • where:后跟字段的具体条件,表示结果集仅包含符合条件的记录
  • 条件表达式:
  • 若字段存储的是字符串,则需要用单引号括起来
  • 优先级:NOTANDOR
  • order by : 后跟字段名,表示按照该字段中的值升序排序
  • desc : 降序排序
  • 若有同一字段内有相同数据,要进一步排序,可以继续添加字段名
  • 使用LIMIT <M> OFFSET <N>可以对结果集进行分页,每次查询返回结果集的一部分
  • 分页查询需要先确定每页的数量当前页数,然后确定LIMITOFFSET的值
  • pageSize:每页需要显示的结果数
  • pageIndex:当前页的索引
  • 在MySQL中,可以省略offset,如:LIMIT <>,<>

聚合查询

select <字段名>, COUNT(*) 别名 
from <表名> 
group by class_id;
  • 聚合查询:对于统计总数、平均数、最值这类计算,SQL提供了专门的聚合函数,使用聚合函数进行查询,就是聚合查询,它可以快速获得结果。
  • 聚合函数:
  • count(字段名):查询该字段的记录数
  • sum(字段名):计算该字段的合计值,该字段值必须为数值类型
  • avg(字段名):计算该字段的平均值,该字段值必须为数值类型
  • max(字段名):计算该字段的最大值
  • min(字段名):计算该字段的最小值

注意:

  1. MAX()MIN()函数并不限于数值类型。如果是字符类型,MAX()MIN()会返回排序最后和排序最前的字符。
  2. 通常,使用聚合查询时,我们应该给字段名设置一个别名,便于处理结果。
  3. 如果聚合查询的WHERE条件没有匹配到任何行,COUNT()会返回0,而SUM()AVG()MAX()MIN()会返回NULL
  • group by:后跟字段名,表示按照该字段分组聚合

连接查询

select <字段名>
from <主表名>
inner join <从表名>
on <连接条件>
  • 连接查询:确定一个主表作为结果集,然后,把其他表的记录有选择性地“连接”在主表结果集上。
  • inner join:只返回两张表都存在的记录
  • left outer join:返回主表都存在的记录,如果某一记录仅在主表存在,那么结果集就会以NULL填充剩下的字段。
  • right outer join:返回从表都存在的记录
  • full outer join:返回两张表所有记录
  • JOIN查询需要先确定主表,然后把另一个表的数据“附加”到结果集上;
  • JOIN查询仍然可以使用WHERE条件和ORDER BY排序。

修改数据

insert into <表名> 
(字段1, 字段2, ...) 
values (值1, 值2, ...)

delete from <表名> 
where <条件表达式>;

update <表名> 
set 字段1 = 值1,字段2 = 值2  /  表达式
where <条件表达式>;


目录
相关文章
|
16天前
|
SQL 存储 关系型数据库
【MySQL基础篇】全面学习总结SQL语法、DataGrip安装教程
本文详细介绍了MySQL中的SQL语法,包括数据定义(DDL)、数据操作(DML)、数据查询(DQL)和数据控制(DCL)四个主要部分。内容涵盖了创建、修改和删除数据库、表以及表字段的操作,以及通过图形化工具DataGrip进行数据库管理和查询。此外,还讲解了数据的增、删、改、查操作,以及查询语句的条件、聚合函数、分组、排序和分页等知识点。
【MySQL基础篇】全面学习总结SQL语法、DataGrip安装教程
|
2月前
|
SQL 安全 前端开发
Web学习_SQL注入_联合查询注入
联合查询注入是一种强大的SQL注入攻击方式,攻击者可以通过 `UNION`语句合并多个查询的结果,从而获取敏感信息。防御SQL注入需要多层次的措施,包括使用预处理语句和参数化查询、输入验证和过滤、最小权限原则、隐藏错误信息以及使用Web应用防火墙。通过这些措施,可以有效地提高Web应用程序的安全性,防止SQL注入攻击。
67 2
|
7月前
|
SQL 存储 程序员
SQL查询的一些基本知识和学习指导
【6月更文挑战第17天】SQL查询核心包括基础选择、连接(JOIN)、子查询、聚合函数与GROUP BY、模糊匹配(LIKE)、分页与排序。JOIN操作连接多表,GROUP BY配合聚合函数做统计,LIKE用于模糊搜索。理解存储过程、触发器及自动增长列等进阶概念,通过实践提升SQL技能。
100 2
|
3月前
|
SQL 存储 数据库
SQL学习一:ACID四个特性,CURD基本操作,常用关键字,常用聚合函数,五个约束,综合题
这篇文章是关于SQL基础知识的全面介绍,包括ACID特性、CURD操作、常用关键字、聚合函数、约束以及索引的创建和使用,并通过综合题目来巩固学习。
70 1
|
5月前
|
SQL 存储 关系型数据库
PostgreSQL核心之SQL基础学习
PostgreSQL核心之SQL基础学习
68 3
|
7月前
|
SQL 存储 Java
SQL数据库学习指南:从基础到高级
SQL数据库学习指南:从基础到高级
|
6月前
|
SQL 存储 关系型数据库
关系型数据库SQL Server学习
【7月更文挑战第4天】
93 2
|
7月前
|
SQL 数据库
零基础学习数据库SQL语句之操作表中数据的DML语句
零基础学习数据库SQL语句之操作表中数据的DML语句
70 0
零基础学习数据库SQL语句之操作表中数据的DML语句
|
7月前
|
SQL 存储 关系型数据库
【数据库】SQL零基础入门学习
【数据库】SQL零基础入门学习
67 3
|
7月前
|
SQL 存储 关系型数据库
sql学习数据库
SQL(Structured Query Language)是用于管理关系型数据库的标准编程语言。学习SQL数据库涉及理解数据库的基本概念、SQL语言的结构和语法,以及如何使用SQL来查询、插入、更新
下一篇
开通oss服务