美文网首页
2020-07-15 SQL刷题笔记一

2020-07-15 SQL刷题笔记一

作者: _笑口常开 | 来源:发表于2020-07-15 22:48 被阅读0次

having 子句

  • having子句既可包含聚合函数作用的字段也可包括普通的标量字段
  • having子句必须于group by 子句同时使用,不能单独使用
  • where在分组前过滤,having在分组后过滤,两者之间不冲突。
  • group by 限定分组条件,即用按照那一列进行分组,相同列值被分为一组。

INSERT INTO 语句用于向表格中插入新的行。

INSERT INTO table_name VALUES (值1, 值2,....)
指定所要插入数据的列:
INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)

SELECT INTO 语句从一个表中选取数据,然后把数据插入另一个表中。常用于创建表的备份复件或者用于对记录进行存档。

把所有的列插入新表 
SELECT *
INTO new_table_name [IN externaldatabase] 
FROM old_tablename

只把希望的列插入新表 
SELECT column_name(s)
INTO new_table_name [IN externaldatabase] 
FROM old_tablename
select * into seniordrivers from drivers where drivedistanced >=5000

All Any Some 的区别

  • All:对所有数据都满足条件,整个条件才成立;
  • Any:只要有一条数据满足条件,整个条件成立;
  • Some的作用和Any一样 .
SELECT Adep,SUM(Score)
FROM ATHLETE,SCORE  
WHERE ATHLETE.Ano=SCORE.Ano 
GROUP BY Adep  
HAVING SUM(Score)>=ALL

(SELECT SUM(Score) 
FROM ATHLETE,SCORE  
WHERE ATHLETE.Ano=SCORE.Ano 
GROUP BY Adep)

SQL 注入

  • SQL注入的关键是单引号的闭合
  • Sql注入是一种注入攻击,可以执行恶意sql语句

SQL 内容,主要分成四部分:

  1. 数据定义。
  • DDL(Data Definition Language)数据库定义语言
  • (SQL DDL)用于定义SQL模式、基本表、视图和索引的创建和撤消操作。
  • DDL不需要commit.
  • eg. CREATE ALTER DROP TRUNCATE COMMENT RENAME
  1. 数据操纵。
  • DML(Data Manipulation Language)数据操纵语言
  • (SQL DML)数据操纵分成数据查询和数据更新两类。数据更新又分成插入、删除、和修改三种操作。
  • DML需要commit.
  • eg. SELECT INSERT UPDATE DELETE MERGE CALL EXPLAIN PLAN LOCK TABLE
  1. 数据控制。
  • DCL(Data Control Language)数据库控制语言 授权,角色控制等
  • (DCL)包括对基本表和视图的授权,完整性规则的描述,事务控制等内容。
  • GRANT 授权, REVOKE 取消授权
  1. 嵌入式SQL的使用规定。
  • TCL(Transaction Control Language)事务控制语言
  • (TCL)涉及到SQL语句嵌入在宿主语言程序中使用的规则。
  • SAVEPOINT 设置保存点, ROLLBACK 回滚, SET TRANSACTION

SQL 分类

  • 数据查询语言(DQL):是由SELECT子句,FROM子句,WHERE子句组成的查询块
  • 数据操纵语言(DML): SELECT(查询) INSERT(插入) UPDATE(更新) DELETE(删除)
  • 数据定义语言(DDL):CREATE(创建数据库或表或索引)ALTER(修改表或者数据库)DROP(删除表或索引)
  • 数据控制语言(DCL):GRANT(赋予用户权限) REVOKE(收回权限) DENY(禁止权限)
  • 事务控制语言(TCL):SAVEPOINT (设置保存点)ROLLBACK (回滚) COMMIT(提交)

相关文章

  • 2020-07-15 SQL刷题笔记一

    having 子句 having子句既可包含聚合函数作用的字段也可包括普通的标量字段 having子句必须于gro...

  • sql刷题笔记(一)

    题目选自leetcode 上的题库 可能不一定都是最优解,答案仅供参考每道题后面都应相应的难度等级,如果没时间做的...

  • sql 刷题笔记1

    1. 查找重复的邮箱 这道题本质上是一道查找重复数据的题目,常用的思路就是 使用 group by 分组计数,然后...

  • sql刷题笔记(五)

    题目选自leetcode 上的题库 可能不一定都是最优解,答案仅供参考每道题后面都应相应的难度等级,如果没时间做的...

  • sql刷题笔记(七)

    题目选自leetcode 上的题库 可能不一定都是最优解,答案仅供参考每道题后面都应相应的难度等级,如果没时间做的...

  • sql刷题笔记(四)

    题目选自leetcode 上的题库 可能不一定都是最优解,答案仅供参考每道题后面都应相应的难度等级,如果没时间做的...

  • sql刷题笔记(六)

    题目选自leetcode 上的题库 可能不一定都是最优解,答案仅供参考每道题后面都应相应的难度等级,如果没时间做的...

  • sql刷题笔记(三)

    题目选自leetcode 上的题库 可能不一定都是最优解,答案仅供参考每道题后面都应相应的难度等级,如果没时间做的...

  • sql刷题笔记(二)

    题目选自leetcode 上的题库 可能不一定都是最优解,答案仅供参考每道题后面都应相应的难度等级,如果没时间做的...

  • sql刷题

    262.Trips and Users 难题 case when 记得加end, between如果不是数字的话记...

网友评论

      本文标题:2020-07-15 SQL刷题笔记一

      本文链接:https://www.haomeiwen.com/subject/xvjshktx.html