计算机的体系结构:冯诺依曼,哈弗体系;
分为五个部分:运算器,控制器,储存器,输入设备,输出设备;
计算机的物理结构决定二进制;
哈弗体系:CPU 内存 储存器 输入设备 输出设备;
SQL分类
DDL(Data Definition Language):数据定义语言,用来定义表、列等;
如:创建数据表...
DML(Data Manipulation Language):数据操作语言,用来定义数据库记录(数据);
如:添加数据,修改数据,删除数据
DQL(Data Query Language):数据查询语言,用来查询记录(数据)。
如:查询数据
DTL (Data Transaction Language):数据事务语言,用来操作事务。
如:开启事务,提交事务
DCL (Data Control Language):数据控制语言。用来操作用户和权限
如:创建用户,授权。
--解锁scott用户
alter user scott account unlock;
--修改用户密码
alter user scott identified by scott;
--赋予DBA权限
grant dba to scott;
--解除 DBA权限
revoke dba from scott;
--转义字符escape 将 _ 转义为普通字符;
select * from emp where ename like '%_%' escape '_';
--6 雇员中谁的工资最高。
select ename,sal from emp where sal= (select max(sal) from emp);
--集合
并集:取两个集合中所有元素
union all:表示取两个集合的并集,不删除重复元素
union :取两个集合的并集,删除重复的元素
--交集:取两个集合重叠部分的元素
--intersect:表示交集(英特赛可特)
--差集:第一个集合的所有元素减去两个集合重叠部分的元素
--Minus::表示差集(卖了思)
--12 用并集,查询在20号部门或者30号部门的员工信息
select * from emp where deptno =20 union select * from emp where deptno =30;
exists 条件成立,执行查询语句,条件不成立,不执行查询语句
rownum<=3(取前3行)
row_number():需要和over分析函数联用,排序的序号和rownum伪列相同,连续序号,不考虑值相等的情况(值
相同序号不相同)
select *,row_number()over(partition by 分组列 order by 排序列)
dense_rank():可以用来做排序,它序号连续,考虑重复数据,如果值相等序号就相同
rank():可以用来做排序,它序号不连续,考虑重复数据,如果值相等序号相同
over(partition by 分组列 order by 排序列):over子句中的分组partition by和group by的分组不同,它不会把
数据聚合成一条,在over子名中可以省略
/*
字符函数
*/
select ascii('hello') from dual;--ascii码
select chr(104) from dual;--ascii码
select concat('hello','word') from dual;--concat 合并
select instr('hello word','o') from dual;--instr 位置
select length('hello') from dual;--length 长度
s