zoukankan      html  css  js  c++  java
  • 【读书笔记】【数据库】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特性

    附录

  • 相关阅读:
    java 备忘
    C++ 命名规范 (转)
    代码格式规范
    using namespace 由来
    结构体数组 初始化(转)
    Java Servlet系列之Servlet生命周期
    进程,内存,管理 ps,pstree,top,free,vmstat,iftop,lsof,查看网速
    网络基础知识-
    进程作业管理2-kill,前后台作业,并行执行
    计划任务cron,date,时间同步ntp,chrony
  • 原文地址:https://www.cnblogs.com/zhangwanying/p/10009689.html
Copyright © 2011-2022 走看看