【读书笔记】【数据库】SQL必知必会

本文提供SQL基础教程概览,涵盖SQL语言、DBMS介绍、数据检索、排序、过滤等核心概念。详细讲解select语句、distinct、limit使用,及orderby排序技巧,适合初学者快速入门。

第1课 了解SQL

简单介绍了sql,和dbms,无重点。

 

第2课 检索数据

重点:select语句,distinct,limit,注释

1. select 语句如果没有明确排序查询结果,那么返回的数据没有特定的顺序。返回数据的顺序可能是数据被添加到表中的顺序,也可能不是。只要返回相同数目的行,就是正常的。

2. 多条 SQL 语句必须用 ; (分号)分隔。

3. SQL不区分大小写

4. SQL语句分行可读性更好

5. 最好不要使用 * 这种通配符 select 表中所有的列

6. distinct 的使用。 distinct 关键字作用于所有的列,不仅仅是跟在其后的那一列。

7. limit n offset m 的使用。从 第 n 行开始的 m 行数据。(n is 0 based)

(mysql, mariaDB, SQLite 可以简化 LIMIT 4 OFFSET 3  --> LIMIT 4, 3)

8. 注释一般用 '--' 或者 '#' (单行注释) 或者 '/*  */' (多行注释)

 

第3课 排序检索数据

重点:order by

1. order by 应该是 select 语句中最后一条子句; 它也可以通过没有被 select 的列进行排序 

2. 如何按照多个列排序。 需要理解的是下面列子中只有在多个行具有相同的 prod_price 值时才对产品按照 prod_name 进行排序。如果 prod_price 列中所有值都是唯一的,则不会按照 prod_name 排序。

select prod_id, prod_price, prod_name 
from Products
order by prod_price, prod_name

3. 按照列位置排序,(坦白讲我觉得这个一般不会用到)

select prod_id, prod_price, prod_name 
from Products
order by 2, 3;

select 清单中指定的选择列的相对位置排序。 order by 2 表示按照 select 清单中的第二个列 prod_price 进行排序。order by 2, 3 同理 order by prod_price, prod_name。

好处就是不用重新输入列名。缺点(1)列名错用 (2)如果对select清单做了更改,这里容易出错。还有就是如果需要排序的列不在 select 清单中,就肯定不能用。

4. 指定升序降序 asc 和 desc。如果在多个列上进行排序,一定要对每一列指定 desc 或者 asc。

5. 对文本数据进行排序的时候,A 和 a 相同吗?a 是排在 B 之前还是 Z 之后? 这个取决于数据库的设置方式。在 dictionary 排序顺序中, A 和 a 被视为是相同的,这是大多数默认的排序方式。如果需要改需要 DBA 改设置。

 

第4课 过滤数据

第5课 高级过滤数据

第6课 用通配符进行过滤

第7课 创建计算字段

第8课 使用函数处理数据

第9课 汇总数据

第10课 分组数据

第11课 使用子查询

第12课 联结表

第13课 创建高级联结

第14课 组合查询

第15课 插入数据

第16课 更新和删除数据

第17课 创建和操纵表

第18课 使用视图

第19课 使用存储过程

第20课 管理事务处理

第21课 使用游标

第22课 高级SQL特性

附录

转载于:https://www.cnblogs.com/zhangwanying/p/10009689.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值