数据蛙数据分析每周作业

《SQL基础教程》知识点概述

2018-12-19  本文已影响6人  晓迦

第1章 数据库和SQL

数据库(DB):将大量数据保存起来,通过计算机加工而成的可以进行高效访问的数据集合。
数据库管理系统(DBMS):用来管理计算机的系统。
服务器:用来接收其他程序程序发出的请求,并对该请求进行相应处理的程序,或者安装了此类程序的设备。
客户端:向服务器发送请求的程序,或者安装了此类程序的设备。
SQL语句及其种类:SQL用关键字、表名、列名等组合而成的一条语句来描述操作的内容。种类包括:DDL、DML、DCL。
数据库的创建:CREATE DATABASE <数据库名称>;
表的创建:CREATE TABLE
命名规则:只能使用半角英文字母、数字、下划线,且必须以半角英文字母开头。
数据类型:INTEGER型,CHAR型,VARCHAR型,DATE型
约束条件:NOT NULL、PRIMARY KEY
表的删除 :DROP TABLE <>;
表定义的更新: 添加列 ALTER TABLE <> ADD COLUMN <>; 删除列 ALTER TABLE <> DROP COLUMN <>; 插入数据 INSERT INTO <> VALUES ();

第2章 查询基础

简单查询:SELECT <> FROM <>;
设置别名:AS
去重:DISTINCT
算术运算符:+ 、 - 、 * 、 /
比较运算符: = 、 <>、 >= 、 >、 <、 <= (注意:不能对NULL使用比较运算符,IS NULL ;IS NOT NULL)
逻辑运算符: NOT 、 AND 、OR

第3章 聚合与排序

聚合函数: COUNT 、SUM 、 AVG 、MAX 、 MIN
分组:GROUP BY
HAVING字句,放在GROUP BY 之后
排序:ORDER BY
ASC升序 , DESC降序
排序NULL值放在最后

第4章 数据更新

数据插入 INSERT INTO < > ()VALUES ();
插入默认值 DEFAULT
复制其他表的内容:INSERT INTO < > () SELECT
数据的删除:DROP TABLE 将表完全删除,DELETE会留下表,删除表中的全部内容
数据的更新:UPDATE <表名> SET <列名> = <表达式>;
事务:需要在同一个处理单元中执行的一系列更新处理的集合。
创建事务:START TRANSACTION;(MySQL)
COMMIT——提交处理
ROLLBACK——取消处理
事务具有ACID特性:

第5章 复杂查询

视图:“从SQL的角度来看视图就是一张表” 与表的区别在于是否保存了实际的数据。视图就是保存好的SELECT语句。
使用视图的优点:

SELECT product_type,product_name,sale_price
FROM Product AS P1
WHERE sale_price > (SELECT AVG(sale_price)
                                FROM Product AS P2
                                WHERE P1.product_type = P2.product_type
                                GROUP BY product_type);

第6章 函数、谓词、CASE表达式

算术函数:+,-,*,/,ABS绝对值,MOD求余,ROUND四舍五入
字符串函数:||——拼接,在MySQL中用CONCAT函数;LENGTH——字符串长度;LOWER——小写转换;REPLACE——字符串的替换;SUBSTRING——字符串的替换;UPPER——大写转换;
日期函数:CURRENT_DATE——当前日期(MySQL);CURRENT_TIME——当前时间;CURRENT_TIMESTAMP——当前日期和时间;EXTRACT——截取日期元素
转换函数:CAST——类型转换;COALESCE——将NULL转换为其他值

谓词
LIKE——字符串的部分一致查询 %代表“0字符以上的任意字符串” ,_代表“任意一个字符串”
BETWEEN——范围查询
IS NULL、IS NOT NULL —— 判断是否为NULL
IN——OR的简单用法
EXIST 判断是否存在满足某种条件的记录,如果存在这样的记录就返回为真,如果不存在就返回为假。EXIST通常用关联子查询作为参数。

CASE表达式 CASE WHEN <> THEN <> ELSE <> END

第7章 集合运算

行方向:UNION(并集),UNION ALL (包含重复项),INTERSECT(交集)——选取表中的公共部分,EXCEPT——用a表减去ab俩表公共的部分
列方向(表的联结):内联结——INNER JOIN, 外联结——OUTER JOIN 选取主表的全部信息(用LEFT、RIGHT来指定主表)
交叉联结——CROSS JOIN (不常用) 笛卡尔积

第8章 SQL高级用法

窗口函数也称OLAP(Online Analysis Processing)函数,能对数据库数据进行实时分析处理。
语法:<窗口函数> OVER ([PARTITION BY <列清单>] ORDER BY <排序用列清单>)

SELECT product_id,product_name,product_price,
   AVG (sale_price) OVER (ORDER BY product_id ROWS 2 PRECEDING) AS moving_avg
   FROM Product;

ROWS(行)和PRECEDING(之前) 表示选之前的三行
GROUPING运算符
ROLLUP——同时得出合计和小计
GROUPING——让NULL更加容易分辨
CUBE——用数据来搭积木
GROUPING SETS——取得期望的积木

上一篇下一篇

猜你喜欢

热点阅读