【读书笔记】【数据库】SQL必知必会
第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必知必会的更多相关文章
- 读书笔记汇总 - SQL必知必会(第4版)
本系列记录并分享学习SQL的过程,主要内容为SQL的基础概念及练习过程. 书目信息 中文名:<SQL必知必会(第4版)> 英文名:<Sams Teach Yourself SQL i ...
- 读书笔记--SQL必知必会18--视图
读书笔记--SQL必知必会18--视图 18.1 视图 视图是虚拟的表,只包含使用时动态检索数据的查询. 也就是说作为视图,它不包含任何列和数据,包含的是一个查询. 18.1.1 为什么使用视图 重用 ...
- 【SQL必知必会笔记(1)】数据库基础、SQL、MySQL8.0.16下数据库、表的创建及数据插入
文章目录 1.数据库基础 1.1 数据库(database) 1.2 表(table) 1.3 列和数据类型 1.4 行 1.5 主键 2.什么是SQL 3.创建后续练习所需数据库.表(MySQL8. ...
- 读书笔记--SQL必知必会--建立练习环境
书目信息 中文名:<SQL必知必会(第4版)> 英文名:<Sams Teach Yourself SQL in 10 Minutes - Fourth Edition> MyS ...
- 读书笔记--SQL必知必会12--联结表
12.1 联结 联结(join),利用SQL的SELECT在数据查询的执行中联结表. 12.1.1 关系表 关系数据库中,关系表的设计是把信息分解成多个表,一类数据一个表,各表通过某些共同的值互相关联 ...
- SQL语法语句总结(《SQL必知必会》读书笔记)
一.SQL语句语法 ALTER TABLE ALTER TABLE 用来更新已存在表的结构. ALTER TABLE tablename (ADD|DROP column datatype [NULL ...
- MySQL必知必会1-20章读书笔记
MySQL备忘 目录 目录 使用MySQL 检索数据 排序检索数据 过滤数据 数据过滤 用通配符进行过滤 用正则表达式进行搜索 创建计算字段 使用数据处理函数 数值处理函数 汇总数据 分组数据 使用子 ...
- 《SQL必知必会》学习笔记二)
<SQL必知必会>学习笔记(二) 咱们接着上一篇的内容继续.这一篇主要回顾子查询,联合查询,复制表这三类内容. 上一部分基本上都是简单的Select查询,即从单个数据库表中检索数据的单条语 ...
- 《mysql必知必会》读书笔记--存储过程的使用
以前对mysql的认识与应用只是停留在增删改查的阶段,最近正好在学习mysql相关内容,看了一本书叫做<MySQL必知必会>,看了之后对MySQL的高级用法有了一定的了解.以下内容只当读书 ...
- 【SQL必知必会笔记(3)】SELECT语句的WHERE子句数据过滤操作
上个笔记主要介绍了利用SELECT语句检索单个/多个/所有列,并利用DISTINCT关键字检索具有唯一性的值.利用LIMIT/OFFSET子句限制结果:以及利用ORDER BY子句排序检索出的数据,主 ...
随机推荐
- 【转载】MySQL查询当天0点,昨天时间
转载自:https://blog.csdn.net/qq_22158021/article/details/78800299 今天是 SELECT NOW();-- 2015-09-28 13:48: ...
- docker学习---搭建Docker私有库及删除库内镜像
环境准备系统: cat /etc/redhat-release CentOS Linux release (Core) 主机两台,分别是docker私有库服务器(IP 192.168.121.121) ...
- MySQL日志文件与分析
1.查询日志.慢查询日志.二进制日志对比 查询日志 general_log 会记录用户的所有操作,其中包含增删查改等 可以指定输出为表 慢查询日志 slow_log 只要超过定义时间的所有操作语句都记 ...
- java 方法的定义与调用
/* 定义一个方法的格式: public static void 方法名称(){ 方法体 } 方法名称的命名规则和变量一样,使用小驼峰 方法体:也就是大括号里面的可以包含任何语句 注意事项: 1.方法 ...
- HTML5 回到顶部
图片: html <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> &l ...
- 理解Java的Class类、"this."关键字、Constructor构造器(一)
import java.util.*; public class BookTest { public static void main(String[] args) { //Book book = n ...
- 每天一个linux命令:cat(10)
cat cat命令的用途是连接文件或标准输入并打印.这个命令常用来显示文件内容,或者将几个文件连接起来显示,或者从标准输入读取内容并显示,它常与重定向符号配合使用 注意:当文件较大时,文本在屏幕上迅速 ...
- hibernate 1 对1
举例:部门departments -------部门经理managers 映射 有两种方式 1:外键映射.类似于多对1.但是设置了unique唯一. 带外键的: package com.hiber ...
- [CSP-S模拟测试]:F(DP+线段树)
题目传送门(内部题49) 输入格式 第一行四个整数$n,q,a,b$.接下来$n$行每行一个整数$p_i$. 输出格式 一行一个整数表示答案. 样例 样例输入: 10 3 3 7 样例输出: 数据范围 ...
- [bzoj2456]mode 题解
改题改自闭的时候当然要靠水题来调节心情(逃 2456: mode Time Limit: 1 Sec Memory Limit: 1 MBSubmit: 8461 Solved: 3171[Sub ...