【数据库系统】【第三章】笔记自用

chap3.SQL中的数据操作

3.1.SQL概述

  • 数据操作:增、删、改、查、统计
  • 基本数据类型:数值型,字符型。字符型用单引号括起来。其它类型的用函数来转化成所想要的类型。

e.g. 日期型: DATE ‘1975-05-17’, TIME ‘15:00:00’

3.2.数据操作的流程

3.3.更新

3.3.1.增

INSERT INTO 表名(字段名 1,字段名 2...,字段名 n) VALUES(字段 1 的值,字段名 2 的值,...,字段名 n 的值)
  • 如果只加部分字段就要把加哪些字段具体写出来,和value一一对应(被省略的字段的值会被设成NULL)(但最好不要省,因为可能会导致数据混乱)(主键必须赋值);如果一行的所有字段都加,就要写全。

e.g. INSERT INTO branch (branchNo, bName) VALUES (‘B06’, ‘Advanced technology’);

3.3.2.删

DELETE FROM 表名 WHERE 条件;
  • 分为:删所有/删一行/删多行

%:通配符(字符串) e.g. …LIKE ’2012%’; (通配符的时候比较运算符不能用“=”,用LIKE。)
_ :通配符(字符),如果 _ 和%要作为普通字符出现,需要加#
e.g. DELETE FROM teacherWHERE email LIKE ‘rj#_%@hnu.edu.cn’ ESCAPE #; 删除教师表 Teacher 中字段 email 的取值是以’rj _’ 开头,并以’@hnu.edu.cn’结尾的行。

  • 逻辑判定的四种类型:
  1. = / > / < / <>(不等于)/ <= / >=
  2. IN / NOT IN
  3. LIKE / NOT LIKE
  4. IS / NOT IS(NULL)
  • 逻辑判别子式间的逻辑运算符有:AND, OR。AND 的优先级高于 OR。

3.3.3.改

UPDATE 表名 SET 字段名1 = 取值1, 字段名2 = 取值2, ...., 字段名n = 取值n WHERE 条件;

3.4.查询操作

SELECT 字段名 1, 字段名 2, ...., 字段名 n FROM 表名 WHERE 条件;
  • 条件类型:
    1.1.等值
    1.2.范围
    1.3.模糊
  • ⭐先选择,再投影:因为投影输出结果可能会出现重复的行,如果想只留下一行:SELECT DISTINCT …
  • 对输出结果进行排序:ORDER BY,升序:ASC,降序:DESC
  • 一个表的所有字段:(*)

3.5.统计操作

  • 五个基本聚集函数:COUNT(求行数)(只有它没忽略null值)、SUM、AVG(这两个只针对数值型)、MIN、MAX
  • 先查询,再统计,统计结果是单一的值(一行数据)
  • 如果输入相同&&查询条件相同,多个统计可以合成一个

注意:统计操作的输出结果只有一行数据。SELECT 后面只能接统计函数,不能接输出字段。例如,SELECT teacherNo , SUM(salary) FROM teacher 就是一个语义错误的 SQL 语句。

  • 输出字段可以重新命名:AS e.g. SELECT COUNT(*)AS person_num, SUM(salary)AS salary_sum FROM teacher ;
  • 分组统计:GROUP BY(输出字段允许且仅允许出现分组字段聚集函数,不然没有意义)

e.g.SELECT courseNo, COUNT(*) AS enroll_num FROM enroll WHERE semester = ‘2017-1’ GROUP BY courseNo HAVING enroll_num < 12 ;//统计在’2017-1’学期选修人数不到 12 人的课程,列出这些课程的课程编号,及其选修的学生人数

  • HAVING和WHERE的区别是,HAVING类似于对统计完了之后得到的那个表再进行WHERE。
  • 执行顺序:1.WHERE 2.GROUP BY 3.聚集 4.HAVING 5.ORDER BY

3.6.表与表的组合

3.7.SQL语句嵌套

3.8.思路

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值