关系型数据库语言基础整理

一 简述

关系型数据库涉及到的查询语言有三种:操作语言(DML)、定义语言(DDL)、控制语言(DCL)。
操作语言 :用作日常数据库的数据操纵,,日常获取业务数据的是DML语言,通常使用比较多的语法:
包括:SELECT、INSERT、UPDATE、DELETE

定义语言:用作数据库、数据对象、数据列的定义等,通常使用比较多的语法
包括:CREATE、ALTER、DROP

控制语言:用作数据库组件的存取许可和权限的命令操作,使用比较多的语法包括:GRANT、DENY、REVOKE

二 不同场景梳理

定义语言(DDL) 语法应用场景 语法
CREATE 用作新数据库、表格的创建 CREATE DATABASE 库名CREATE TABLE 表名
ALTER 修改数据库/表的基础信息 ALTER TABLE 表名 执行操作
DROP 删除数据库或者表对象 DROP DATABASE 库名DROP TABLE 表名
操作语言(DML 语法应用场景 语法
SELECT 查询数据库表的记录 SELECT * FROM 表名
INSERT 插入一行新的记录 INSERT INTO 表名(字段名称1,字段名称2,…)VALUES (值1,值2,…)
UPDATE 更新某一行记录 UPDATE 表名 SET 字段值=值,字段名=值 WHERE 条件
DELETE 删除某一行记录,日常这种记录建议谨慎操作 DELETE FROM TABLE 表名 WHERE条件
控制语言(DCL) 语法应用场景 语法
GRANT 授权给用户或用户组访问数据库对象的权限 GRANT SELECT ON 数据库对象 TO 用户/用户组
DENY 限制用户或角色对某些数据库对象的访问权限 DENY SELECT,UPDATE ON 数据库对象 TO 角色/用户
REVOKE 撤销用户或用户组访问数据库对象的权限 REVOKE SELECT ON 数据库对象 FROM 用户/用户组

三 SELECT常用语法

使用场景 举例
查询所有数据 SELECT * FROM 表名
查询指定字段 SELECT 字段名1,字段名2 FROM 表名
指定查询条件 SELECT * FROM 表名 WHERE 条件
比较查询(>,>=,<,<=,=,!=) SELECT * FROM 表名 WHERE 字段名>取值
逻辑查询(AND,OR) SELECT * FROM 表名 WHERE 字段名1>取值1 AND 字段名2>取值2
范围查询(BETWEEN AND,IN) SELECT * FROM 表名 WHERE 字段名 BETWEEN 取值1 AND 取值2
SELECT * FROM 表名 WHERE 字段名 IN(取值1,取值2)
匹配为空或非空(IS NULL,IS NOT NULL) SELECT * FROM 表名 WHERE 字段名 IS NULL
SELECT * FROM 表名 WHERE 字段名 IS NOT NULL
模糊查询(LIKE,%) SELECT * FROM 表名 WHERE 字段名 LIKE ‘字符串’
SELECT * FROM 表名 WHERE 字段名 LIKE ‘%字符串%’
查询结果限制行数(LIMIT) SELECT * FROM 表名 LIMIT N(显示N条数据)
聚合函数(SUM,AVG,MAX,MIN,COUNT) SELECT SUM 字段名 FROM 表名 WHERE 条件
查询结果分组(GROUP BY) SELECT 字段1,字段2,…FROM 表名 WHERE 条件 GROUP BY 字段1
查询结果排序(ORDER BY) SELECT 字段1,字段2,…FROM 表名 WHERE 条件 ORDER BY 字段1
查询结果聚合筛选(HAVING+GROUP BY) SELECT 字段1,字段2,…FROM 表名 HAVING 聚合函数条件 ORDER BY 字段1
去重查询(DISTINCT) SELECT INSTINCT 字段名 FROM 表名 WHERE 条件
嵌套查询 SELECT 字段N1,字段N2,… FROM
(SELECT 字段1,字段2,… FROM 表名 WHERE 条件1)
WHERE 条件2
多表查询(LEFT JOIN,INNER JOIN,RIGHT JOIN) SELECT 字段1,字段2,…
FROM 表名1
LEFT JOIN 表名2
ON 表1.字段名N=表2.字段名0
WHERE 条件

你可能感兴趣的:(数据库,oracle,sql)