三、计算机理论-关系数据库-结构化查询语言SQL
SQL概述
是一种介于关系代数与关系演算之间的语言,现成为关系数据库的标准语言
特点:综合统一、高度非过程化、面向集合的操作方式、以同一种语法结构提供两种使用方式(直接使用或者嵌入高级语言使用)、语言简洁,易学易用。
四大功能如下:
SQL功能 | 动词 |
数据查询 | SELECT |
数据定义 | CREATE,DROP,ALTER |
数据操纵 | INSERT,UPDATE,DELETE |
数据控制 | GRANT,REVOKE |
数据定义
定义基本表 | CREATE TABLE 表名(列名? 数据类型 列级完整性约束条件,……); |
修改基本表 | ALTER TABLE 表名,是修改表的结构的 |
删除基本表 | DROP TABLE 表名,若别的表应用了此表,则会被一并删除 |
建立索引 | 是加快查询速度的有效手段,CREATE [UNIQUE][CLUSTER] INDEX <索引名> ON TABLE UNIQUE表示该索引的每一个索引值只对应唯一的数据元组 CLUSTER表示建立的索引是聚簇索引 |
删除索引 | DROP INDEX <索引名>; |
数据查询
SQL提供了SELECT用于数据库的查询操作
WHERE | 根据WHERE的条件表达式,从FROM子句指明的表或视图中查询满足条件的元组 |
GROUP BY | 用于按指定的列的值进行分组,该列值相等的元组为一个组 |
HAVING | 若GROUP BY子句中带有HAVING短语,则只有满足条件的组才会被显示 |
ORDER BY | 用于按指定列的值进行排序,默认是ASC |
单表查询
查询列的操作,对应关系代数中的投影运算;查询行的操作,对应关系代数中的选择运算
查询指定列 | |
查询全部列 | |
查询经过计算的值 | COUNT(*)是统计元组的个数 |
消除取值重复的元组 | 在列名前加DISTINCT可消除查询结果中重复元组 |
查询满足条件的元组 | 注意:_匹配单字符,%匹配多字符 |
ORDER BY子句 | |
GROUP BY子句 | |
HAVING | 作用对象是组,从中选择满足条件的组 |
连接查询(主要查询)
是指一次查询同时涉及两个及以上表
等值连接查询 | |
外连接查询 | |
自身连接查询 | 是指将一个表看成逻辑上的多个表 |
嵌套查询
将一个查询块嵌套在另一个查询块中的查询成为嵌套查询;子查询的SELECT语句中不能使用ORDER BY子句,因为其只能对最终查询结果进行排序;求解方法是自里向外处理
包含IN的子查询 | |
包含比较运算符的子查询 | |
包含ANY或ALL的子查询 |
数据更新(操纵)
针对是里面的元组数据进行更新
插入数据 | INSERT INTO 表名 VALUES(); |
修改数据 | UPDATE 表名 SET 列名 = ? WHERE ?; |
删除数据 | DELETE FROM 表名 WHERE?; TRUNACATE TABLE 用于清空表 |
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!