导图社区 SQL:数据操作
数据库SQL语言数据操作,大概内容总结。
数据库的实体-联系建模(ER)大概内容总结
数据库设计那些事大概简单基础的内容大概总结
数据库分析与DreamHome案例研究大概内容总结
社区模板帮助中心,点此进入>>
互联网9大思维
组织架构-单商户商城webAPP 思维导图。
域控上线
python思维导图
css
CSS
计算机操作系统思维导图
计算机组成原理
IMX6UL(A7)
考试学情分析系统
SQL:数据操作
结构化查询语言(SQL)的用途和重要性
用途
建立数据库和关系结构
完成基本数据管理任务
完成简单或复杂的查询
重要性
SQL是第一个也是唯一一个得到普遍认可的数据库标准语言
SQL也被其他标准所使用,甚至作为一种定义工具影响了其他标准的发展
SQL的发展历史
关系模型(间接SQL)起源于在IBM San Jose 研究室工作的E.F.Codd发表的一篇论文(Codd,1970)
1974年,该研究室的D.Chamberlin定义了一种成为SQL的结构化英语查询语言,或称为SEQUEL
1976年,其修改版本SEQUEL/2出现,然后正式改名为SQL
20世纪70年代末期,现称为Oracle Corporation的公司推出了第一个基于SQL语言开发的商品化RDBMS-Oracle数据库系统
如何书写SQL命令
语句中每一子句在新的一行开始书写
每一子句与其他子句的开始字符处在同一列上
如果子句由几个部分组成,则它们应当分别出现在不同的行,并在子句开始处使用缩进表明这种关系
大写字母用于表示保留字,必须准确拼写
小写字母用于表示用户自定义字
竖线(|)表示从选项中进行选择
大括号表示所需元素
中括号表示可选择元素
省略号(...)表示某一项可选择重复零到多次
如何用SELECT语句检索数据库中数据
SELECT 语句用于检索并显示一个或多个数据库表中的数据
FORM 给出将用到的表
WHERE 过滤满足条件的行
GROUP BY 将具有相同属性值的行分成组
HAVING 过滤满足条件的组
SELECT 指定查询结果中出现的列
ORDER BY 指定查询结果的顺序
如何构建SQL语句
使用WHERE语句检索满足各种条件的行
比较:比较两个表达式的值
范围:测试表达式的值是否在指定的范围中
成员关系:测试表达式的值是否在某一集合内
模式匹配:测试字符串是否与指定模式相匹配
空:测试列是否空(未知)值
使用ORDER BY语句将查询结果排序
单列排序
多列排序
ASC升序
DESC降序
使用SQL的聚集函数
COUNT:返回指定列中数据的个数
SUM:返回指定列中数据的总和
AVG:返回指定列中数据的平均值
MIN:返回指定列中数据的最小值
MAX:返回指定列中数据的最大值
使用GROUP BY语句将数据分组
ISO标准要求SELECT子句和GROUP BY子句紧密结合。当使用GRUP BY时,SELECT列表中的项必须每组都有单一值
SELECT子句中的所有列除非用聚集函数中,否则必须在GROUP BY子句中出现。繁殖,GROUP BY子句中出现的列不一定出现在SELECT列表中
当WHERE子句和GROUP BY子句同时使用时,必须首先使用WHERE子句,分组由满足WHERE子句查询条件的那些行产生
ISO标准规定应用GROUP BY子句时,两个空值被认为是相等的
分子约束(HAVTNG子句)
使用子查询
用于相等判断的子查询
可以认为查询产生一个临时表,便于外部语句访问和利用
在WHERE子句和HAVYNG子句中,子查询可以紧邻着关系运算(=,<,>,<=,>=,<>)
子查询本身通常包括在圆括号中
用于聚焦函数的子查询
子查询应遵循规则
ORDER BY子句不能用于子查询(虽然可用在最外面的SELECT语句中)
子查询SELECT列表必须由单个列名或表达式组成,除非子查询使用了关键词EXISTS
默认的情况下,子查询中列名取子查询的FROM子句中给出的表,也可通过限定列名的办法指定取自外查询的FROM子句中的表
当子查询是比较表达式中的一个操作数时,子查询必须出现在表达式的右面
嵌套子查询:IN的使用
ANY/SOME和ALL
EXISTS和NOT EXISTS
表的连接操作
简单连接
排序连接结果
三表连接
按多个列分组
连接运算的计算过程
形成FROM子句中指定表的笛卡儿乘积
如果存在WHERE子句,对乘积表的每一行运用查找条件,保留那些满足条件的行,用关系代数术语来说,这个操作即对笛卡儿乘积的限制
对于每个剩下的行,确定SELECT列表中每一项的值,并形成查询结果中的一行
如果指定了SELECT DISTNCT,则消除结果中重复的行。以关系代数看,第3步和第4步相当于把第二步得到的限制再SELECT列表上进行投影
如果存在ORDER BY子句,则根据要求对查询结果进行排序
外连接
左外连接
右外连接
全外连接
进行集合操作(UNION,INTERSECT,EXCEPT)
UNION,并
INTERSECT,交
EXCEPT,差
集合操作子格式:operator[ALL][CORRESPONDING [BY {column1 [,...]}]}
如何用INSERT、UPDATE和DELETE更新数据库
向数据库中添加数据(INSERT)
INSERT...VALUES
INSERT...SELECT
修改数据库中的数据(UPDATE)
更新所有行
更新指定的行
更新多个列
删除数据库中的数据(DELETE)
删除指定行
删除所有行