第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特性

附录

【读书笔记】【数据库】SQL必知必会的更多相关文章

  1. 读书笔记汇总 - SQL必知必会(第4版)

    本系列记录并分享学习SQL的过程,主要内容为SQL的基础概念及练习过程. 书目信息 中文名:<SQL必知必会(第4版)> 英文名:<Sams Teach Yourself SQL i ...

  2. 读书笔记--SQL必知必会18--视图

    读书笔记--SQL必知必会18--视图 18.1 视图 视图是虚拟的表,只包含使用时动态检索数据的查询. 也就是说作为视图,它不包含任何列和数据,包含的是一个查询. 18.1.1 为什么使用视图 重用 ...

  3. 【SQL必知必会笔记(1)】数据库基础、SQL、MySQL8.0.16下数据库、表的创建及数据插入

    文章目录 1.数据库基础 1.1 数据库(database) 1.2 表(table) 1.3 列和数据类型 1.4 行 1.5 主键 2.什么是SQL 3.创建后续练习所需数据库.表(MySQL8. ...

  4. 读书笔记--SQL必知必会--建立练习环境

    书目信息 中文名:<SQL必知必会(第4版)> 英文名:<Sams Teach Yourself SQL in 10 Minutes - Fourth Edition> MyS ...

  5. 读书笔记--SQL必知必会12--联结表

    12.1 联结 联结(join),利用SQL的SELECT在数据查询的执行中联结表. 12.1.1 关系表 关系数据库中,关系表的设计是把信息分解成多个表,一类数据一个表,各表通过某些共同的值互相关联 ...

  6. SQL语法语句总结(《SQL必知必会》读书笔记)

    一.SQL语句语法 ALTER TABLE ALTER TABLE 用来更新已存在表的结构. ALTER TABLE tablename (ADD|DROP column datatype [NULL ...

  7. MySQL必知必会1-20章读书笔记

    MySQL备忘 目录 目录 使用MySQL 检索数据 排序检索数据 过滤数据 数据过滤 用通配符进行过滤 用正则表达式进行搜索 创建计算字段 使用数据处理函数 数值处理函数 汇总数据 分组数据 使用子 ...

  8. 《SQL必知必会》学习笔记二)

    <SQL必知必会>学习笔记(二) 咱们接着上一篇的内容继续.这一篇主要回顾子查询,联合查询,复制表这三类内容. 上一部分基本上都是简单的Select查询,即从单个数据库表中检索数据的单条语 ...

  9. 《mysql必知必会》读书笔记--存储过程的使用

    以前对mysql的认识与应用只是停留在增删改查的阶段,最近正好在学习mysql相关内容,看了一本书叫做<MySQL必知必会>,看了之后对MySQL的高级用法有了一定的了解.以下内容只当读书 ...

  10. 【SQL必知必会笔记(3)】SELECT语句的WHERE子句数据过滤操作

    上个笔记主要介绍了利用SELECT语句检索单个/多个/所有列,并利用DISTINCT关键字检索具有唯一性的值.利用LIMIT/OFFSET子句限制结果:以及利用ORDER BY子句排序检索出的数据,主 ...

随机推荐

  1. 转载:tomcat过程原理

    基于Java的Web 应用程序是 servlet.JSP 页面.静态页面.类和其他资源的集合,它们可以用标准方式打包,并运行在来自多个供应商的多个容器.Web 应用程序存在于结构化层次结构的目录中,该 ...

  2. JavaScript值传递和引用传递

    1、数据类型:boolean,null,undefined,String,Number,指向包含的数据,进行“值传递”: 2.非数据类型:Array,Function,Object,指向了一个内存地址 ...

  3. windows下基于(QPC)实现的微秒级延时

    1.为什么会写windows下微秒级延时 在上一篇 实现memcpy()函数及过程总结 中测试memcpy的效率中,测试时间的拷贝效率在微秒级别,需要使用微秒级时间间隔计数. windows下提供Qu ...

  4. Django学习笔记(三)视图

    构建网页内容 视图函数的return具有多种响应类型: 上述函数主要来自django.http,该模块是实现响应功能的核心. 实际开发中可用此模块实现文件下载功能,在index的urls.py和vie ...

  5. 微信小程序点击顶部导航栏切换样式

    类似这样的效果 <view class='helpCateList'> <!-- 类别 --> <scroll-view class='scroll-view' scro ...

  6. MTD系统架构和yaffs2使用、Nandflash驱动设计

    一.MTD系统架构 1.MTD设备体验 FLASH在嵌入式系统中是必不可少的,它是bootloader.linux内核和文件系统的最佳载体. 在Linux内核中引入了MTD子系统为NORFLASH和N ...

  7. layui导出表格全部数据

    layui自带的导出表格,只能导出当前页面,如果当前页包含全部数据,那不就是导出全部数据了吗,所以我给导出事件单独定义了一个请求,当触发这个请求时,在后台查询数据时不要按接收的page 和 limit ...

  8. centos6编译安装php7

    https://www.cnblogs.com/wenwei-blog/p/6261637.html https://www.cnblogs.com/imzye/p/5109770.html cent ...

  9. idea使用 xml文件

    如图 搜索template(模板) 点击加号后

  10. 【转载】OsmocomBB在kali的安装方法

    转载自http://www.nigesb.com/gsm-hacker-abhout-sms-sniffer.html 首先的首先需要建立Arm代码的编译环境,没有编译环境,就无法对osmocombb ...